Вопрос задан 30.09.2023 в 13:45. Предмет Информатика. Спрашивает Окунев Павел.

 C++ «C»: Заполните массив случайными числами. Определить, есть ли в нем элементы с

одинаковыми значениями, не обязательное стоящие рядом. ​
0 0
Перейти к ответам

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

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

Ответ:

Объяснение:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

   setlocale(LC_ALL, "RU");

   int N;

   cin >> N;//массив на N элементов

   vector<int>a;

   for (int i = 0; i < N; i++)

       a.push_back(rand()%100);// заполнение массива числами от 0 до 100

   for (int i = 0; i < N; i++)

       cout << a[i] << " ";

   cout << endl;

   bool flag=false;

   int number;

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

       auto r = find(a.begin(), a.end(),a[i]);// функция стандартной библиотеки для поиска

       if (r != a.end()&&r-a.begin()!=i)

       {

           number = r - a.begin();// номер элемента массива с одинаковым значением

           flag = true;

           break;

       }

   }

   if (flag)

       cout <<"В массиве присутствуют элементы с одинаковыми значениями. Одним из равных значений является: "<<a[number];

   else

       cout << "В массиве не присутствуют элементы с одинаковыми значениями";

}


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

Для решения этой задачи вам нужно заполнить массив случайными числами, а затем проверить, есть ли в нем элементы с одинаковыми значениями, которые не обязательно стоят рядом. Вот пример кода на C++ для выполнения этой задачи:

cpp
#include <iostream> #include <cstdlib> #include <ctime> #include <vector> #include <unordered_set> int main() { // Инициализация генератора случайных чисел std::srand(static_cast<unsigned>(std::time(nullptr))); // Размер массива int size; std::cout << "Введите размер массива: "; std::cin >> size; // Создаем массив и заполняем его случайными числами std::vector<int> arr(size); for (int i = 0; i < size; ++i) { arr[i] = std::rand(); } // Используем unordered_set для проверки наличия повторяющихся элементов std::unordered_set<int> uniqueElements; bool hasDuplicates = false; for (int i = 0; i < size; ++i) { if (uniqueElements.find(arr[i]) != uniqueElements.end()) { hasDuplicates = true; break; } uniqueElements.insert(arr[i]); } if (hasDuplicates) { std::cout << "В массиве есть элементы с одинаковыми значениями." << std::endl; } else { std::cout << "В массиве нет элементов с одинаковыми значениями." << std::endl; } return 0; }

В этом коде мы сначала создаем массив заданного размера и заполняем его случайными числами. Затем мы используем контейнер unordered_set для хранения уникальных значений массива и проверки наличия повторяющихся элементов. Если в массиве есть элементы с одинаковыми значениями, программа выводит сообщение об этом.

0 0

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

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

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

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