Дан массив a(10). Найти элементы массива, которые повторяются в массиве два и три раза, и вывести их порядковые номера. В программе C++

8 Июл 2021 в 19:46
101 +1
0
Ответы
1
include include include

int main() {
int a[10] = {1, 2, 3, 2, 4, 5, 6, 3, 4, 4};
std::map<int, int> count;

// Подсчет количества повторений элементов
for (int i = 0; i < 10; i++) {
count[a[i]]++;
}
// Поиск элементов, повторяющихся два и три раза
std::vector<int> twice, thrice;
for (auto it = count.begin(); it != count.end(); it++) {
if (it->second == 2) {
twice.push_back(it->first);
} else if (it->second == 3) {
thrice.push_back(it->first);
}
}
// Вывод порядковых номеров
std::cout << "Элементы, повторяющиеся два раза: ";
for (int num : twice) {
for (int i = 0; i < 10; i++) {
if (a[i] == num) {
std::cout << i << " ";
}
}
}
std::cout << std::endl;
std::cout << "Элементы, повторяющиеся три раза: ";
for (int num : thrice) {
for (int i = 0; i < 10; i++) {
if (a[i] == num) {
std::cout << i << " ";
}
}
}
std::cout << std::endl;
return 0;

}

17 Апр 2024 в 14:52
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир