Программирование на С++.(Множества с элементами типа char)! Перегрузите операторы: «+» – добавление элемента в множество, «-» – удаление элемента из множества, «>» – проверка на принадлежность элемента множеству, «==» – сравнение на равенство, «!=» – сравнение на неравенство, «^» – получение множества из элементов, встречающихся либо в одном либо в другом множестве, но не встречающихся в обоих, «!*» – проверка, что множества не имеют общих элементов.
Количество сравнений, это сколько раз твое число приравнивается к другим. Смотря на твою последовательность ты после сортировки массива сравниваешь число 2 со своим массивом. Приравниваешь его к первому числу это у тебя единица. Число один не совпадает с даным по условию числом, значит двигаемся дальше, и это уже будет другое сравнение. И так делаем пока не найдем число "2". Так как это число у тебя на втором месте, количество сравнений будет 2.
Если бы ты искал например число 4 количество сравнений было бы 5, так как число 4 стоит пятым в очереди.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
fstream f("F1.txt");
size_t max_size;
string s, max_word, word;
while ( getline(f, s) ) {
istringstream is(s);
max_size = 0;
while (is >> word) {
if (max_size < word.size()) {
max_size = word.size();
max_word = word;
} else if (max_size == word.size()) {
max_word += " = ";
max_word += word;
}
}
cout << max_size << ' ' << max_word << endl;
}
}
Пример:
asfasfafs sdf sdg xcz
zxcvxcv sdggsd
asdgsdg
sgdgsd sdagsdg
gsd sdg sdg
sdggg sdg sh
ответ:
9 asfasfafs
7 zxcvxcv
7 asdgsdg
7 sdagsdg
3 gsd = sdg = sdg
5 sdggg