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

Ответы 6

  • Так отталкивается алгоритм проверяя значение 1 еле мента сзади и 1 спереди, вот отсюда берется вторая еденица
    • Автор:

      candyoevh
    • 6 лет назад
    • 0
  • Я напишу более простой и понятный вам алгоритм в течении часа.
  • Только утро, так что нужно хоть пзавтракать)
  • А нет, не напишу, уже нет такой возможности.
    • Автор:

      speed
    • 6 лет назад
    • 0
  • К слову, ответ не полный, почему программа ничего не выводит если дублиактов нет?
    • Автор:

      kylie
    • 6 лет назад
    • 0
  • Изи задача)

    Исправлено:

    #include <iostream>

    using namespace std;

    int main()

    {

       cout << "Task 30257728!" << endl;

       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;

                   return 0;

               }

           }

       }

       return 0;

    }

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

    Как-то так:

    #include <iostream>

    using namespace std;

    int main()

    {

       cout << "Task 30257728!" << endl;

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

       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;

       } else {

           cout << "Array haven't dupes" << endl;

       }

       return 0;

    }

    • Автор:

      tyson40
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years