#include <stdio.h>
# include <iostream>
# include <fstream>
using namespace std;
int main()
{
int k=0; //вводим переменную целого типа и присваиваем ей значение 0
ifstream list("list.txt"); //открываем файл list.txt
char buf[256];
while (!list.eof()) //пока файл list.txt не прочитан до конца
//(файл читаем построчно) выполняем действия
{ list.getline(buf,sizeof(buf));
if(buf[strlen(buf)-1]=='\n') //если в конце стоки последний символ \n…
buf[strlen(buf)-1]='\0'; //меняем его на \0
ifstream file(buf); //открываем файлы с именами указанными
//в файле list.txt (каждая строка имя файла)
char letter[256];
while (!file.eof())//пока файл не прочитан до конца
//(файл читаем посимвольно) выполняем действия
{
file.getline(letter,sizeof(letter));
int i = 0;
int neword = 1;
//проходим все символы
while (letter)
{
//пробел - разделитель слов, пока пробел не выводим
if (letter == ' ')
neword = 1;
//знак препинания - разделитель, выводим его
else
if ((letter == '.') || (letter == ',') || (letter == '!') ||
(letter == '?') || (letter == ':') || (letter == ';'))
{
printf("%c", letter);
neword = 1;
}
//новое слово, и это не первое слово –
//выводим перед ним пробел
else
{
if (neword && i)
printf(" ");
printf("%c", letter);
neword = 0;
}
i ++;
}
}
file.close(); //закрываем файл
}
list.close(); //закрываем файл list.txt
return 0;
}
работа со строками(С++).
которая открывает текстовый файл-список, содержащий имена файлов по одному на строке. Программа анализирует содержимое этих файлов и убирает лишние пробелы между словами
Подскажите мне как подсчитать количество предложений во всех файлах и вывести на экран случайно выбранное предложение
помогите пожалуйста,больше не у кого спрашивать
Код:
[COLOR="Red"]Оформляй код по Правилам.модератор.[/COLOR]
Считай по точкам. Сколько точек, столько же и предложений. Конец файла может быть вместо точки.
Не только точек, но и восклицательных и вопросительных знаков. Плюс предусмотреть возможности типа ?!, !!!, ... и т.д.