C++. Есть ли в одномерном массиве три подряд идущих одинаковых элемента

0 голосов
62 просмотров

C++. Есть ли в одномерном массиве три подряд идущих одинаковых элемента


Информатика (737 баллов) | 62 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Изи задача)

Исправлено:

#include


using namespace std;


int main()

{

   cout << "Task 30257728!" << endl;</p>

   const int N = 10;


   // создаем массив

   int m[N] = {1,1,1,4,5,6,7,8,9,3};


   // пробегаемся по массиву

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


       // смотрим только те, что идут до mLength - 2

       if (i < N - 2) {


           // если m[i] и + 1 и + 2 равны, то переключаем выходим из программы

           if (m[i] == m[i + 1] && m[i + 1] == m[i + 2]) {

               cout << "Array have dupes" << endl;</p>

               return 0;

           }

       }


   }


   return 0;

}


старое--------------------------


Как-то так:

#include


using namespace std;


int main()

{

   cout << "Task 30257728!" << endl;</p>

   // созданем массив

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


   // считаем его размер

   int mLength = (sizeof(m)/sizeof(*m));


   // делаем переключатель

   bool haveDupes = false;


   // пробегаемся по массиву

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


       // смотрим только те, что идут до mLength - 2

       if (i < mLength - 2) {


           // если m[i] и + 1 и + 2 равны, то переключаем haveDupes

           if (m[i] == m[i + 1] && m[i + 1] == m[i + 2]) {

               haveDupes = true;

           }

       }


   }


   // если переключен haveDupes

   if (haveDupes) {

       cout << "Array have dupes" << endl;</p>

   } else {

       cout << "Array haven't dupes" << endl;</p>

   }


   return 0;

}


(130 баллов)
0

почему мы смотрим только те, что идут до mLength - 2 ?