Вариант 15

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

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

//----------------------------------------------------------------------------
#include <fstream.h>
#include <string.h>
#include<iostream.h>
#include <ctype.h>
#include<windows.h>
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
//----------------------------------------------------------------------------
char *rus(const char *text);
int main()
 {
  ifstream fin("text.txt");
  if(!fin)
   {
    cout<<rus("Ошибка открытия файла!");
    getch();
    return 1;
   }
  fin.seekg(0,ios::end);
  long len=fin.tellg();
  char *maxword=new char[len+1];
  char *word=new char[len+1];
  char *buf=new char[len+1];
  fin.seekg(0,ios::beg);
  fin.read(buf,len);
  buf[len]='\0';
  int i=0,j=0,k=0,l=0,wordlen=0,maxwordlen=0,wordcnt=0;
//---------------------------------------------------------------------------
  while(buf[i])
   {  
    if(isalpha(buf[i]))
     {
      while(!(ispunct(buf[i])||isspace(buf[i])||(buf[i]=='\0')))
       {
        word[j++]=buf[i++];
       }
      word[j]='\0';
      j=0;
      wordlen=strlen(word);
      cout<<word/*<<'('<<wordlen<<')'*/;
      if(wordlen>maxwordlen)
       {
        maxwordlen=wordlen;
        strcpy(maxword,word);
       }
      k=l=wordcnt=0;
      while(buf[k])
       {
        if(isalpha(buf[k]))
         {
          while(!(ispunct(buf[k])||isspace(buf[k])||(buf[k]=='\0')))
           {
            word[l++]=buf[k++];
           }
          word[l]='\0';
          l=0;
          if(strcmp(maxword,word)==0)wordcnt++;
         }
        k++;
       }
     }
    cout<<buf[i];
    i++;
   }
  fin.close();
  cout<<rus("\n\nСамое длинное слово: ")<<maxword;
  cout<<rus("\nДлина слова ")<<maxwordlen;cout<<rus(" байт");
  cout<<rus("\nКоличество вхождений слова: ")<<wordcnt;
  getch();
  return 0;
 }
//----------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text, bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

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

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

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

Вариант 14
Вариант 16
error: Content is protected !!
Adblock
detector