Разработать программу на C++. В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), найти и вывести на экран слова, которые входят в текст более одного раза. Выводимые слова упорядочить по убыванию количество вхождения слов в текст. Выведенную информацию продублировать в выходной текстовый файл, имя файла задает пользователь.
Ответы на вопрос:
#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;
}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
nastyakramskay17.08.2020 07:30
-
алина371720.08.2020 20:11
-
Mokikoo02.04.2020 03:00
-
Evastupid10.08.2020 17:34
-
gasi2002225.12.2022 00:16
-
MASTER1001124.02.2022 17:48
-
тетрадка53524311.06.2021 23:12
-
nazarkooo01.01.2022 08:55
-
думайй13.12.2021 04:18
-
очароваш18.07.2020 06:18
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.