Вариант 7

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

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

//---------------------------------------------------------------------------
#include<iostream.h>
#include<fstream.h>
#include<ctype.h>
#include<windows.h>
#include<conio.h>
#include<vcl.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char *rus(const char *text); //функция для распознавания русских символов
int main()
{
 const int len=500;     //объявление переменных
 char line[len+1];       //для работы
 int count=0,temp=0,i; //с словами
 ifstream fin("text.txt");           //открываем файл для чтения
 if(!fin)                             //если файла нет
  {
   cout<<rus("Файла text не существует!");  //выводим сообщение
   getch();
   return 1;
  }
 while(fin.getline(line,len))     //считывание строк
  {
   temp=0;
   int l_line=strlen(line);
   if(isalpha(line[0])||!isdigit(line[0])||isalpha(line[1])||!isdigit(line[1])\
   ||isalpha(line[2])||!isdigit(line[2])||isalpha(line[3])||!isdigit(line[3])\
   &&(ispunct(line[4])||isspace(line[4])))
    {                                      //если слово вначале строки
     count++;
     cout<<line<<endl;    //выводим строку
     temp=1;
    }
   l_line++;
   for(i=0;i<l_line;i++)       	    //если слово в середине или конце текста
    {
     if(ispunct(line[i])||isspace(line[i]))
     if(isalpha(line[i+0])||!isdigit(line[i+0]))
     if(isalpha(line[i+1])||!isdigit(line[i+1]))
     if(isalpha(line[i+2])||!isdigit(line[i+2]))
     if(isalpha(line[i+3])||!isdigit(line[i+3]))
     if(ispunct(line[i+4])||isspace(line[i+4])||(line[i+4]=='\0'))
      {
       count++;           //увеличиваем счетчик
       if(temp==0)
       cout<<line<<endl;  //выводим строку
       temp=1;
      }
    }
  }
 fin.close();
 cout<<rus("\nКоличество слов состоящих из не более 4 букв: ")<<count<<endl;
 getch();
 return 0;
}
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text, bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

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

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

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

Вариант 6
Вариант 8
error: Content is protected !!
Adblock
detector