Есть ответ 👍

Разработать программу на C++. В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), найти и вывести на экран слова, которые входят в текст более одного раза. Выводимые слова упорядочить по убыванию количество вхождения слов в текст. Выведенную информацию продублировать в выходной текстовый файл, имя файла задает пользователь.

130
274
Посмотреть ответы 2

Ответы на вопрос:


#include <iostream>

#include <vector>

#include <fstream>

using namespace std;

struct Word

{

   string word;

   int amount = 1;

};

int main()

{

   ifstream input;

   input.open("text.txt");

   vector<Word> words;

   while(!input.eof())

   {

       string str;

       getline(input, str);

       cout << str << "\n";

   }

   cout << "\n";

   input.close();

   input.open("text.txt");

   while(!input.eof())

   {

       Word word;

       input >> word.word;

       words.push_back(word);

   }

   input.close();

   string file;

   ofstream create(file);

   cout << "Input file name: ";

   cin >> file;

   cout << "\n";

   create << file;

   ofstream output(file);

   for(int i = 0; i < words.size() - 1; i++)

       for(int j = i + 1; j < words.size(); j ++)

           if(words[i].word == words[j].word && words[i].word != "NULL")

           {

               words[i].amount++;

               words[j] = {"NULL", -1};

           }

   for (int i = 0; i < words.size() - 1; i++)

       for (int j = 0; j < words.size() - 1; j++)

           if (words[j].amount < words[j + 1].amount)

               swap(words[j], words[j + 1]);

   for (int i = 0; i < words.size(); i++)

       if(words[i].amount > 1)

       {

           cout << words[i].word << " ";

           output << words[i].word << " ";

       }

   output.close();

   return 0;

}


Разработать программу на C++. В произвольном тексте (взятом из файла), содержащем не более 10 строк,

Каждый символ имеет объем информации в 8 бит, при условии, что используется стандартный алфавит символов "сазми труам ? язкимос" состоит из 20-и символов, следовательно его информационный объем равен 20*8 бит= 160 бит=20байт

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS