S
smagin4ik
Написать программу, которая считывает текст из файла и выводит на экран только предложения ,состоящие из заданного количества слов.
Оформить в виде функций законченные последовательности действий. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Проблема с циклом.
Не работает программа если ввожу количество слов=2
3 день не могу исправить,великое желание сделать так--->
Оформить в виде функций законченные последовательности действий. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
C++:
#include <iostream>
#include<fstream>
#include <stdio.h>
using namespace std;
int cikl(int k){
ifstream fin("text.txt");
if (!fin) { cout<<"Error in open file!"<<endl; return 1;
}
fin.seekg(0, ios::end);
long len=fin.tellg();
char *buf=new char [len+1];
fin.seekg(0, ios::beg);
fin.read(buf, len);
fin.close();
buf[len]='\0';
long n=0, i=0, j=0, kw=1;
ofstream fout("output.txt");
while(buf[i]){
if (buf[i]==' ') kw++;
if (buf[i]=='?' || buf[i]=='.' || buf[i]=='!')
if (kw==k){
for (j=n; j<=i; j++) fout<<buf[j];
fout<<"\n";
n=i+1;
}
else {n=i+2; kw=0;}
i++;
}
fout.close();
return 0;}
int main()
{int k;
cout<<"How many words are necessary in a sentence?\n"<<"k=";
cin>>k;
cikl(k);
return 0;
}
Проблема с циклом.
Не работает программа если ввожу количество слов=2
3 день не могу исправить,великое желание сделать так--->