Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Целые числа


Автор: Unionuser 20.6.2011, 13:18
Всем привет.Пожалуйста помогите мне с прогой,у меня не чего не получается. Даны целые числа  с1...с95. Имеются ли в последовательности  с1...с95:
а) два идущих подряд нулевых члена;
б) три идущих подряд нулевых члена?
Заранее спасибо.

Автор: borisbn 20.6.2011, 14:19
Код

#include <algorithm>

bool bothZero( int l, int r ) {
    return l == 0 && r == 0;
}

int main()
{
  int c[ 95 ];
  // заполнить c[ 0 ] ... c[ 94 ]

  bool twoZero;
  int * p = std::adjacent_find( c, c + 95, bothZero );
  twoZero = ( p != (c + 95) );

  bool threeZero = false;
  p = c;
  do {
      p = std::adjacent_find( p, c + 95, bothZero );
      if ( (c + 95) - p < 3  ) {
          break;
      }
      if ( p[ 2 ] == 0 ) {
          threeZero = true;
          break;
      }
  } while( 1 );
}



M
JackYF
Пользуйтесь кнопкой "код".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)