Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Рекрусия (за принципом игры "Сапёр")


Автор: Sergio 25.10.2006, 17:11
Здраствуйте.  Как мне вместо "0" заменить на "10" за принципом рекрусии?
Зарание спасибо.
Код
void finds(int, int);                  // прототип функции

int main(int argc, char* argv[])
{
int A[5][5]={{0,0,5,8,2},             // инициализация массива А
             {0,0,0,0,0},
             {0,4,0,8,0},
             {0,0,0,0,0},
             {0,9,3,0,0}};

finds(0,0);

for (int x=0; x<5; x++)
 {
  for (int y=0; y<5; y++)
  {
   cout<<A[x][y]<<" ";
  }
  cout<<"\n";
 }


getch();
}
void finds(int a, int b)            // Реализация функции
{
 if (A[a][b]==0)  A[a][b]=10;
  if (A[a][b-1]==0) void finds(a, b-1)
    if (A[a+1][b]==0) void finds(a+1, b)
       if (A[a][b+1]==0) void finds(a, b+1)
          if (A[a-1][b]==0) void finds(a-1, b)
}

Автор: JackYF 25.10.2006, 17:17
Возможно, так:

Код

void finds(int a, int b)            // Реализация функции
{
 if (A[a][b]==0)
 {
    A[a][b]=10;
    finds(a, b-1);
    finds(a+1, b);
    finds(a, b+1);
    finds(a-1, b);
  }
}

Автор: Rockie 25.10.2006, 23:30
Sergio, не стоит http://forum.vingrad.ru/topic-118266.html темы smile

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