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

Sowa2006 Sowa2006    2   26.03.2021 08:30    2

Ответы
0Neder0 0Neder0  25.04.2021 08:31

Объяснение:

#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 << "В массиве не присутствуют элементы с одинаковыми значениями";

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика