0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 21
1

Найти слово из файла, в котором встретится больше всего букв из слова, введённого с клавиатуры

10.04.2018, 15:51. Показов 1268. Ответов 2

Имеется файл, в нём написаны слова. С клавиатуры вводится слово с неповторяющимися буквами. Найти и вывести слово из файла, в котором встретится больше всего букв из слова, введённого с клавиатуры.
Никак не могу понять, как можно это реализовать в программе Кто-нибудь, подскажите, пожалуйста, возможный алгоритм, желательно без использования изощрённых процедур и малоизвестных библиотек...Что лучше использовать: стринги или чары?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2018, 15:51
Ответы с готовыми решениями:

Дан текст, слова в котором разделены хотя бы одним пробелом. Найти слово, в котором букв “А” больше, чем в других.
1. (строки) Дан текст, слова в котором разделены хотя бы одним пробелом. Найти слово, в котором...

Определить номер слова в котором больше всего гласных букв
1. Определить номер слова в котором больше всего гласных букв 2. Найти самое короткое слово в...

Найти слово в файле, в котором больше всего гласных
В текстовом файле дан какой-либо текст, найти слово, в котором больше всего гласных и определить,...

1. Скопировать из файла F1 в файл F2 строки, которые не содержат слова, начинающиеся на одну букву 2. Определить номер слова в котором больше всего г
1. Скопировать из файла F1 в файл F2 строки, которые не содержат слова, начинающиеся на одну букву...

2
583 / 487 / 370
Регистрация: 05.11.2013
Сообщений: 1,262
Записей в блоге: 6
10.04.2018, 20:20 2
Лучший ответ Сообщение было отмечено schaltgetriebe как решение

Решение

> стринги или чары?
можно так и так
со string будет читать проще

1. читай файл по строкам и бей на слова, например вот здесь получаем вектор слов из строки , введенной в консоль
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
 
int main() {
 cout << "Enter the string: ";
 string str;
 getline(cin, str);
 
 vector <string> vecstr;
 string word;
 stringstream s(str);
 
 while (s >> word) vecstr.push_back(word);
 
 int vsize = vecstr.size();
 for (int i = 0; i < vsize; i++) {
  cout << vecstr[i] << endl; 
  //!!!
 }
    
 cin.get();
 return 0;
}
потом вместо //!!! сравни очередное слово со своим на количество одинаковых букв примерно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
 
string::size_type matching_characters (string s1, string s2) {
 sort(begin(s1), end(s1));
 sort(begin(s2), end(s2));
 string intersection;
 set_intersection (begin(s1), end(s1), begin(s2), end(s2), back_inserter(intersection));
 return intersection.size();
}
 
int main() {
 cout << matching_characters("qwerty", "ytresa") << '\n'; //4
 system("pause>nul"); return 0;
}
можно все это делать и без стандартных библиотек c++ но телодвижений будет намного больше
1
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 21
10.04.2018, 21:25  [ТС] 3
ПерС, Спасибо Вам, но проблемка...слишком сложно прочитать код Я не смогу объяснить преподавателю это всё, поскольку не знаю даже такие библиотеки, как algoritm, iterator, sstream и vector... можно ли как-нибудь это попроще для понимания написать? Буду вам очень признательна
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2018, 21:25
Помогаю со студенческими работами здесь

Найти и напечатать слово, в котором содержится больше всего символов “А”
Дан текст, который содержит буквы и пропуски. Найти и напечатать слово, в котором содержится больше...

Найти и напечатать слово, в котором содержится больше всего символов “А”
Дан текст, который содержит буквы и пропуски. Найти и напечатать слово, в котором содержится больше...

Найти и напечатать слово, в котором содержится больше всего заданного символа
Всем привет! Дан текст, который содержит буквы и пропуски. Найти и напечатать слово, в котором...

Найти слово, в котором букв “А” больше, чем в других
Здравствуйте! Напишите пожалуйста код для данной задачи. Просто понятия не имею как работать со...

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

Подскажите как найти слово строке в котором больше 2 букв 'a', а затем вывести его?Без использования string
Подскажите как найти слово строке в котором больше ОДНОЙ буквы 'a', а затем вывести его?Без string.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru