Вариант 12

Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.

Код программы:

//----------------------------------------------------------------------------
#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,l=0,cnt=0;      //объявление переменных  для работы с текстом
//---------------------------------------------------------------------------
 for(i=0;i<len;i++)
  {
   if(buf[i]=='-')
    {
     if(buf[i+1]==' ')
      {
       n=i;
      }
     if(buf[i+1]==' ')
      {
       for(int k=n;k<len;k++)
        {
         if(buf[k]=='.'||buf[k]=='?'||buf[k]=='!')
          {
           l=k;
           for(j=n;j<=l;j++)
           cout<<buf[j];
           cnt++;
           break;
          }
        }
       cout<<endl;
      }
    }
  }
 if(0==cnt)cout<<rus("Таких предложений нет!");
 getch();
 return 0;
}
//----------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text,bufrus);
  return bufrus;
 }
//----------------------------------------------------------------------------

Создаем текстовый файл в папке с проектом с именем text.txt и заполняем его необходимым содержанием.

Результат работы программы:

Результат работы. Двенадцатый вариант. Строки и файлы

Вариант 11
Вариант 13
error: Content is protected !!
Adblock
detector