Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
Код программы:
//---------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<fstream.h> #include<windows.h> #include<vcl.h> #pragma hdrstop #pragma argsused //---------------------------------------------------------------------------- char *rus(const char *text); //функция для распознавания русских символов int main(int argc, char* argv[]) { ifstream fin("text.txt"); //открываем файл для чтения if(!fin) //если файла нет { cout<<rus("Файл text не существует!"); //выводим сообщение getch(); return 1; } fin.seekg(0,ios::end); //определяем длину файла, перемещаемся на его конец long len=fin.tellg(); //получаем длину файла и заносим в переменную len char *buf=new char[len+1];//выделяем len+1 байтов для хранения текста из файла fin.seekg(0,ios::beg); //переносимся опять на начало файла для чтения fin.read(buf,len); //проводим чтение из файла buf[len]='\0'; //заносим 0-ой символ в конец файла long n=0,i=0,j=0; //объявление переменных long w=0,e=0,r=0; //для работы с текстом //организуем поиск вопросительных предложений while(buf[i]) //просмотр файла { if(buf[i]=='?') //если встретился знак ? { for(j=n;j<=i;j++) //выводим на cout<<buf[j]; //экран предложения n=i+1; //заносим позицию начала нового предложения } if(buf[i]=='!'|| buf[i]=='.') //если встретился знак ! или . пропускаем предложение n=i+1; //заносим позицию начала нового предложения i++; //увеличиваем на 1 для просмотра массива } cout<<endl; //организуем поиск восклицательных предложений while(buf[e]) { if(buf[e]=='!') //если встретился знак ! { for(r=w;r<=e;r++) //выводим на cout<< buf[r]; //экран предложения w=e+1; //заносим позицию начала нового предложения } if(buf[e]=='?'|| buf[e]=='.') //если встретился знак ? или . пропускаем предложение w=e+1; //заносим позицию начала нового предложения e++; //увеличиваем на 1 для просмотра массива } getch(); return 0; } //---------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text,bufrus); return bufrus; } //----------------------------------------------------------------------------
Создаем текстовый файл в папке с проектом с именем text.txt и заполняем его необходимым содержанием.
Результат работы программы: