|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.11.2008, 14:28 | #1 |
Пользователь
Регистрация: 21.11.2008
Сообщений: 10
|
посчитать количество предложений и вывести случайное
Есть задача:
Напишите программу, которая открывает текстовый файл-список, содержащий имена файлов по одному на строке. Программа анализирует содержимое этих файлов и убирает лишние пробелы между словами #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[i]) { //пробел - разделитель слов, пока пробел не выводим if (letter[i] == ' ') neword = 1; //знак препинания - разделитель, выводим его else if ((letter[i] == '.') || (letter[i] == ',') || (letter[i] == '!') || (letter[i] == '?') || (letter[i] == ':') || (letter[i] == ';')) { printf("%c", letter[i]); neword = 1; } //новое слово, и это не первое слово – //выводим перед ним пробел else { if (neword && i) printf(" "); printf("%c", letter[i]); neword = 0; } i ++; } } file.close(); //закрываем файл } list.close(); //закрываем файл list.txt return 0; } помогите доделать нужно посчитать количество предложений и вывести случайное,количество я думаю посчитать по точкам в конце каждого предложения,а вот на счёт вывода случайного не знаю,может завести динамический массив в него записать адрес начала каждого предложения в файле. Потом брать рандомное число от 1 до N где N-кол-во предложений,затем из массива адрес выпавшего предложения и читай его из файла. Вот только не знаю как реализовать не поможите? |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посчитать количество записей в БД ACCESS | Dux | БД в Delphi | 22 | 31.03.2015 20:36 |
как посчитать количество файлов в каталоге? помогите плиз | older | Общие вопросы Delphi | 5 | 23.05.2008 14:22 |
Паскаль. найти все числа кратные трем и посчитать их количество | __k1ll3r__ | Помощь студентам | 6 | 02.04.2008 16:37 |
Фрактал. Посчитать количество треугольников. | Marsik | Помощь студентам | 2 | 22.11.2007 08:19 |
подсчитать количество символов слов и предложений | nev | Помощь студентам | 4 | 09.06.2007 21:22 |