Ответы пользователя по тегу C
  • Как прочитать строки из файла?

    @d_ilyich
    Ответ написан
    Комментировать
  • Как выйти из нескольких вложенных циклов?

    @d_ilyich
    В данном конкретном случае можно "развернуть" матрицу в одномерный массив и обойтись одним циклом. Вот, набросал на скорую руку.
    #define MAX_SAME 2
    ...
    void search_matrix( int* matr, const int limit )
    {
      int same_count = 0;
      int i = 0;
      int j = i + 1;
    
      while ( same_count < MAX_SAME && i < limit*limit - 1 ) {
        if ( matr[ i ] == matr[ j ] ) {
          same_count++;
        }
    
        if ( same_count < MAX_SAME ) {
          j++;
          if ( j == limit*limit ) {
            i++;
            same_count = 0;
            j = i + 1;
          }
        }
      }
    
      if ( same_count == MAX_SAME ) {
        cout << same_count << ' ' << i << ' ' << j;
      }
    }

    Да, придётся ещё индексы "вернуть" к двумерным.

    P.S. Я в C++ не силён, если что - сильно не пинайте :)
    P.P.S. Тут, конечно, 2 цикла. Прошу прощения, был взволнован :)
    Ответ написан
    Комментировать