Вопрос задан 22.11.2023 в 22:08. Предмет Информатика. Спрашивает Черкасова Анжелика.

Дано одновимірний масив. Знайти у масиві значення, що повторюються. C++

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Роуз Адиль.

Відповідь:

#include <iostream>

#include <map>

using namespace std;

int main() {

   int arr[] = {1, 2, 3, 4, 5, 6, 7, 1, 2, 4, 5, 1, 2, 7, 8};

   int n = sizeof(arr) / sizeof(arr[0]);

   map<int, int> count_map;    

   // Підрахунок кількості входжень кожного елементу в масиві

   for (int i = 0; i < n; i++) {

       if (count_map.find(arr[i]) == count_map.end()) {

           count_map[arr[i]] = 1;

       } else {

           count_map[arr[i]]++;

       }

   }  

   // Виведення елементів, що повторюються

   for (auto elem : count_map) {

       if (elem.second > 1) {

           cout << "Element " << elem.first << " occurs " << elem.second << " times" << endl;

       }

   } 

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для поиска повторяющихся значений в одномерном массиве на языке C++ можно воспользоваться различными подходами. Один из простых способов - использовать структуру данных, например, контейнер `std::unordered_map`, чтобы отслеживать, сколько раз каждый элемент встречается в массиве. Вот пример кода:

```cpp #include #include #include

int main() { // Создаем одномерный массив std::vector arr = {1, 2, 3, 4, 2, 5, 6, 3, 7, 8, 9, 1, 2};

// Используем unordered_map для отслеживания повторяющихся значений std::unordered_map frequency;

// Проходим по массиву и увеличиваем счетчик для каждого элемента for (int i : arr) { frequency[i]++; }

// Выводим значения, которые встречаются более одного раза std::cout << "Повторяющиеся значения в массиве: "; for (const auto& pair : frequency) { if (pair.second > 1) { std::cout << pair.first << " "; } }

return 0; } ```

В этом примере мы используем `std::unordered_map`, чтобы отслеживать частоту появления каждого элемента в массиве. Затем мы просто проходим по контейнеру `frequency` и выводим те значения, которые встречаются более одного раза.

Помните, что для использования стандартной библиотеки C++ вам может потребоваться компилятор, который поддерживает стандарт C++11 и выше.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос