0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
|
||||||
1 | ||||||
Проверить является ли одно из множеств подмножеством другого07.03.2022, 00:11. Показов 1366. Ответов 5
Попытался разработать программу к соответствующему заданию:
Разработать компьютерную программу, которая: а) предлагает пользователю ввести два множества элементов, либо считывает два множества элементов из заранее подготовленных текстовых файлов; б) проверяет, является ли одно из множеств подмножеством другого; в) выводит на экран результат проверки. Если ввожу два множества одинаковой длины, то работает верно. Если множества разной длины, то всегда выводит, что ни одно из множеств не является подмножеством другого. Помогите пожалуйста исправить, не могу понять в чем ошибка
0
|
07.03.2022, 00:11 | |
Ответы с готовыми решениями:
5
Установить, является ли одно множество подмножеством другого Проверить, является ли один массив подмножеством другого Проверить, является ли одно множество подмножеством другого Какое из данных множеств является подмножеством другого? |
4770 / 2580 / 892
Регистрация: 29.11.2010
Сообщений: 5,581
|
||||||
07.03.2022, 00:51 | 2 | |||||
Шота я не вижу, чтоб вам было нельзя использовать STL.
1
|
403 / 261 / 167
Регистрация: 13.01.2021
Сообщений: 1,162
|
||||||
07.03.2022, 01:06 | 3 | |||||
Если правильно понял суть
1
|
07.03.2022, 01:55 | 4 | |||||
1
|
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
|
|
07.03.2022, 10:36 [ТС] | 5 |
Я нашел ошибку в своем коде, была проблема с потоком.
Можно ли как-то этот код разделить на несколько функций (условно на две или три: ввод, вычисления и вывод), чтобы все не находилось в main? Я можно сказать недавно начал изучать программирование и с функциями пока как-то не очень) Буду благодарен если кто-то поможет #include <iostream> #include <string> #include <sstream> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); setlocale(LC_ALL, "Russian"); string str1, str2, ilement_mas_m, ilement_mas_p, s, kol_slov1, kol_slov2; int kol_ilem_1 = 0, kol_ilem_2 = 0, i = 0, j = 0, kol_povt_1, kol_povt_2, kol_povt_str; cout << "Введите первую последовательность:" << endl; getline(cin, str1); cout << "Введите вторую последовательность:" << endl; getline(cin, str2); stringstream potok_kol1(str1); stringstream potok_kol2(str2); stringstream potok_ilement1(str1); stringstream potok_ilement2(str2); while (potok_kol1 >> kol_slov1) kol_ilem_1 ++; while (potok_kol2 >> kol_slov2) kol_ilem_2++; string* m = new string[kol_ilem_1]; string* p = new string[kol_ilem_2]; while (potok_ilement1 >> ilement_mas_m) { m[i] = ilement_mas_m; i++; } while (potok_ilement2 >> ilement_mas_p) { p[j] = ilement_mas_p; j++; } if (kol_ilem_1 == kol_ilem_2) { kol_povt_1 = 0; kol_povt_2 = 0; kol_povt_str = 0; for (i = 0; i < kol_ilem_1; i++) { for (j = 0; j < kol_ilem_2; j++) { if (m[i] == m[j]) kol_povt_1 ++; if (m[i] == p[j]) kol_povt_2++; } if (kol_povt_1 == kol_povt_2) kol_povt_str++; } if (kol_povt_str == kol_ilem_1) cout << "Введеные множества равны." << endl; } else if (kol_ilem_1 > kol_ilem_2) { kol_povt_str = 0; for (i = 0; i < kol_ilem_1; i++) { kol_povt_1 = 0; kol_povt_2 = 0; for (j = 0; j < kol_ilem_1; j++) { if (m[i] == m[j]) { kol_povt_1++; } if (m[i] == p[j]) { kol_povt_2++; } } if (kol_povt_1 == kol_povt_2) kol_povt_str++; } if (kol_povt_str == kol_ilem_2) cout << "Второе множество является подмножеством первого." << endl; } else if (kol_ilem_2 > kol_ilem_1) { kol_povt_str = 0; for (i = 0; i < kol_ilem_2; i++) { kol_povt_1 = 0; kol_povt_2 = 0; for (j = 0; j < kol_ilem_2; j++) { if (p[i] == p[j]) kol_povt_1++; if (p[i] == m[j]) kol_povt_2++; } if (kol_povt_1 == kol_povt_2) kol_povt_str++; } if (kol_povt_str == kol_ilem_1) cout << "Первое множество является подмножеством второго." << endl; } if ((kol_povt_str == 0) && (kol_ilem_1 != 0) && (kol_ilem_2 != 0)) cout << "Ни одно из множеств не является подмножеством другого." << endl; delete[] m; delete[] p; }
0
|
2827 / 2334 / 704
Регистрация: 29.06.2020
Сообщений: 8,609
|
||||||
07.03.2022, 19:22 | 6 | |||||
0
|
07.03.2022, 19:22 | |
07.03.2022, 19:22 | |
Помогаю со студенческими работами здесь
6
Множества. Определить, является ли одно из них подмножеством другого Clojure Опpеделить пpедикат, проверяющий, является ли одно множество подмножеством другого Проверить, является ли один список подмножеством другого списка Проверить истинность утверждения "F является подмножеством G, G является подмножеством H" (F, G и H - файлы) Проверить, является ли одно дерево поддеревом другого Проверить, является ли одно из чисел делителем другого Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |