Дана матрица вещественного типа А(n,m), значения которой расположены в диапазоне от -15 до 20. Удалить из матрицы ту строку, в которой наибольшее количество нулей. Если таких строк несколько, то удалить каждую из них.
вот мое решение, но тока для случая, в котором надо удалить только одну строку, но и она не очень хорошо работает. Удаляет только если ноль в первой строке... что я делаю не так?
program udal;
uses crt;
label m1;
var
a:array[1..99,1..99] of real;
q,i,n,m,j,k,max,nstr:word;
f:boolean;
begin
clrscr;
m1:
f:=false;
writeln('‚Введите кол-во строк (m) и столбцов (n)');
readln(m,n);
max:=0;
writeln('Please, input elements');
for i:=1 to m do begin
for j:=1 to n do
readln(a[i,j]);
end;
For i:=1 to m do begin
k:=0;
for j:=1 to n do begin
if a[i,j]=0 then
k:=k+1;
end;
if max<k then begin f:=true;
nstr:=i;
max:=k;
end else break;
end;
if f=true then begin
for i:=nstr to m-1 do begin
for j:=1 to n do
a[i,j]:=a[i+1,j];
end;
for i:=1 to m-1 do begin
for j:=1 to n do
write('',a[i,j]:5:2);
writeln;
end;
end else
for i:=1 to m do begin
for j:=1 to n do
write('',a[i,j]:5:2);
writeln;
end;
writeln('for continue press 1');
readln(q);
if q=1 then goto m1
end.