Дано текстовый файл f. Переписать в файл g строки файла f, которые содержат более 5 слов....

0 голосов
163 просмотров

Дано текстовый файл f. Переписать в файл g строки файла f, которые содержат более 5 слов. С++


Информатика (169 баллов) | 163 просмотров
0

Что служит разделителями слов в строке?

0

Т.е пробелы, точки, запятые? или какие то свои

0

В задании не было указано, значит, стандартно - пробелы

Дан 1 ответ
0 голосов
Правильный ответ

#include "stdafx.h"
#include
#include
#include
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
ifstream in_file("f.txt"); // файл со строками
ofstream out_file("g.txt"); // файл со строками, длиннее 5 слов.
string buffer; // промежуточная переменная, для хранения проверяемой строки 
int count; // счетчик слов в строке
while (getline(in_file, buffer))
{
count = 0;
for (unsigned int i = 0; i < buffer.length(); i++)
{
if (buffer[i + 1] == ' ' || buffer[i+1] == '\0')
{
   count++;
}
}
cout << "Количество слов в строке: "<< count << endl;<br> if(count > 5)
{
out_file << buffer << endl;<br> }
buffer.clear();
}
in_file.close();
out_file.close();
return 0;
}

Писал в visual c++ , советую там и проверять. Все слова разделяют одним пробелом и заканчивается строка словом, без пробела после него, ибо это уже неверно будет

(387 баллов)
0

Так стоп, криво код залился

0

Да не страшно, это я уже исправлю, большое Вам спасибо с:

0

Уже подправил) и в одном месте, точнее в цикле for прога делала замечание некритичное, тоже исправил сейчас) Удачи в познании си)

0

Ух, спасибо) И всего хорошего Вам!