День добрый, всем!

> ... легко переписать и стандартными for:

> for (row=0; row < MAXROW; ++row)
>   for (col=0; col < MAXCOL; ++col)
>     if (elem_at(row,col)) goto x;
> x:

> По-моему, так текст и короче, и разобрать легче, а и выполняемых на
> каждом шагу действий меньше.  Если goto очень раздражает (не меня),
> то можно и без него:

> for (row=0; row < MAXROW; ++row) {
>   for (col=0; col < MAXCOL; ++col)
>     if (elem_at(row,col)) break;
>   if (col < MAXCOL) break;
> }

управление легко разменять на дополнительные переменные. Так докаывают
теорему о структурном программировании.

И я часто так делаю, примерно в таком стиле:

bool goon = true;
for (row=0; row < MAXROW && goon; ++row)
  for (col=0; col < MAXCOL && goon; ++col)
    goon = elem_at(row,col) == 0;

Всего доброго,

Сергей Абрамов

Ответить