Задано масив цілих чисел A(n), n ≤ 200 . Розробити програму, яка виводить на екран
всі числа, що повторюються, по одному разу. Якщо чисел, що повторюються, немає, то
виводить повідомлення про це.
Ответы
Ответ:
#include <iostream>
#include <vector>
#include <unordered_map>
int main() {
int n;
std::cout << "Введіть кількість елементів масиву n: ";
std::cin >> n;
std::vector<int> A(n);
std::unordered_map<int, int> frequency;
std::cout << "Введіть елементи масиву A:" << std::endl;
for (int i = 0; i < n; i++) {
std::cin >> A[i];
frequency[A[i]]++;
}
bool foundDuplicates = false;
std::cout << "Числа, що повторюються по одному разу:" << std::endl;
for (int i = 0; i < n; i++) {
if (frequency[A[i]] == 1) {
std::cout << A[i] << std::endl;
foundDuplicates = true;
}
}
if (!foundDuplicates) {
std::cout << "Немає чисел, що повторюються по одному разу." << std::endl;
}
return 0;
}
Використовуємо масив A для зберігання введених чисел і std::unordered_map під назвою frequency для відстеження кількості повторень кожного числа. Потім ми проходимося по масиву A, перевіряємо, скільки разів кожне число повторюється, і виводимо числа, що повторюються по одному разу. Якщо таких чисел немає, виводимо відповідне повідомлення.
----------------------------------------------------------------------------------------------------------
#include <iostream>
#include <vector>
#include <unordered_map>
int main() {
int n;
std::cout << "Введіть кількість елементів масиву n: ";
std::cin >> n;
std::vector<int> A(n);
std::unordered_map<int, int> frequency;
std::cout << "Введіть елементи масиву A:" << std::endl;
for (int i = 0; i < n; i++) {
std::cin >> A[i];
frequency[A[i]]++;
}
bool foundDuplicates = false;
std::cout << "Числа, що повторюються:" << std::endl;
for (int i = 0; i < n; i++) {
if (frequency[A[i]] > 1) {
std::cout << A[i] << std::endl;
foundDuplicates = true;
// Видаліть запис про це число, щоб не виводити його повторно
frequency[A[i]] = 1;
}
}
if (!foundDuplicates) {
std::cout << "Немає чисел, які повторюються." << std::endl;
}
return 0;
}
Цей код виводитиме лише ті числа, які мають кількість більше одного, і вони виводяться тільки один раз.