Запись int main (void);
означает предварительную декларацию функции как одно выражение. И дальнейший код с { ..
компилятор не может анализировать.
Полное объявление функции нужно делать без ;
.
int main (void){
...
}
Теперь про выражения :
Цикл do while
внутри себя должен содержать одно выражение.
do statement while ( expression ) ;
А вы записали туда много действий. Чтобы ошибки компиляции не было, нужно эти действия заключить в фигурные скобки, тогда это как раз и будет одно выражение.
do {
fl=0;
for (I=0; I<s-I; I++)
;
if (A[I][r]> A[I+1][r])
;
{ vr=A[I][r];
(A[I][r]=A[I+1][r]);
A[I+1][r]=vr;
fl=1;
}
} while (fl==1);
Про команды for
и if
: после них тоже должно стоять одно выражение. А вы записали после них точки с запятой, а это подразумевается пустым выражением и получается цикл с пустым выражением и сравнение с пустым выражением, что по сути бессмысленно.
Эти точки с запятой нужно убрать и писать программу, соблюдая стандартный стиль с отступами пробелов, чтобы было всё понятно вам и всем остальным.
do {
fl=0;
for (I=0; I<s-I; I++)
if (A[I][r]> A[I+1][r]) {
vr=A[I][r];
(A[I][r]=A[I+1][r]);
A[I+1][r]=vr;
fl=1;
}
} while (fl==1);