списки файлов
#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int k=0;
ifstream list("list.txt");
char buf[256];
while (!list.eof())
{ list.getline(buf,sizeof(buf));
if(buf[strlen(buf)-1]=='\n')
buf[strlen(buf)-1]='\0';
ifstream file(buf);
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();
return 0;
}
Здесь программа, которая открывает текстовый файл-список, содержащий имена файлов по одному на строке. Программа анализирует содержимое этих файлов и убирает лишние пробелы между словами,подскажите как сделать чтобы она ещё и считала количество предложений и выводила на экран случайное предложение
Хоть кто нибудь мне тут поможет?
Ну например пусть считает кол-во точек это и будет кол-вом предложений.
а как вывести случайное?
Заведи динамический массив. В него записывай адрес начала каждого предложения в файле. Потом бери рандомное число от 1 до N где N-кол-во предложений. Бери из массива адрес выпавшего предложения и читай его из файла.
а не поможешь с кодом я это то еле еле написал просто уже из института выгоняют край даже за деньги никто не соглашается
во всяком случае спасибо большое за идею
где i будет номер предложения
1. Выбрать первое предложение в качестве случайного
2. Для каждого следующего предложения генерить случайное число, скажем в диапазоне 0 - 100. И, если это число больше, например, 50, брать текущее считанное предложение в качестве случайного
Цитата: lexus05
rand() % i
где i будет номер предложения
где i будет номер предложения
где i будет количеством всех предложений