
22.11.2009, 13:51
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами:
9187097
Репутация:
158
|
|
2[Dead]Demon
Код:
#include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int main(void)
{
FILE * f;
f=fopen("E:\\text2.txt","r");
if (f == NULL){
//cout << Rus("Файл не найден!\n");
getch();
return 1;
}
// определяем длину файла
fseek(f,0,SEEK_END); long len=ftell(f);
// выделяем буфер необходимого размера
char *buf=new char[len+1];
// смещаем указатель на начало файла и
// считываем файл в буфер
fseek(f,0,SEEK_SET);
fread(buf, len,1, f); buf[len]='\0';
// выделение предложений из текста
long i=0, fl, kol=0, s;
while(buf[i])
{
fl=0;//флаг присутствует ли запятоя
s=i; //начало предложения
while(buf[i]!='.'&&buf[i]!='?'&&buf[i]!='!'){
if(buf[i]==',')
fl=1;
i++;
}
//вывод предложения, если есть зп
if(!fl){
kol++;
cout << kol << ". ";
for(;s!=i;s++)
cout << buf[s];
cout << endl;
}
i++;
}
fclose(f);
cout << "\n kol = " << kol;
getch();
return 0;
}
add
Правда предложение еще может заканчиваться на многоточие, эт тоже надо предусмотреть.
Последний раз редактировалось fker; 22.11.2009 в 14:15..
|
|
|