Помогите пожалуйста
Вот такая задача
Я нашел число нулевых элементов в каждом столбце(ch[j])
И теперь мне надо найти столбец в котором больше всего нулевых элементов.?
Var i,max,temp : integer;
.......................
.......................
i:=0{или -1, с чего начинается твой массив?}
While i<>columnNum do begin
i:=i+1;
If ch[i]>temp then begin
temp:=ch[i];
max:=i;
end;
end;
Function min_nulls(var A:matrix): integer;
var
i, j: integer;
min, indx, count: integer;
begin
min := 5;
for i := 1 to 5 do begin
count := 0;
for j := 1 to 5 do
if A[j, i] = 0 then inc(count)
if min > count then begin
min := count; indx := i
end;
end;
min_nulls := indx
end;
Procedure resort(var a:matrix; indx: integer);
Var i, T:integer;
Begin
if indx <> 1 then
for i := 1 to 5 do begin
T := a[i, 1]; a[i, 1] := a[indx, 1]; a[indx, 1] := T
end;
end;
begin
...
resort(A, min_nulls(A)); { это вся работа }
end.
IF A[i,indx]=0 then
T:=A[5-n,indx]
A[5-n,ind]:=A[i,indx];
A[i,indx]:=T;
n:n+1;
IF A[i,indx]=0 then begin
A[i,indx]:=A[5-n,indx];
A[5-n,indx] := 0;
n:=n+1;
end;
Procedure chislo(var A:matrix);
var i,j,ch:integer;
Begin
ch:=0;
For i:=1 to 4 do Begin
For j:=1 to 5 do Begin
IF A[i,j]=0 Then ch:=ch+1;
end;
end;
end;
Procedure chislo(var A:matrix;ch:odn);
В ней ты меняешь содержимое массива Ch, но пойми, что этих изменений ты не увидишь: чтобы их увидеть, нужно передавать массив так:Procedure chislo(var A:matrix;var ch:odn);
Procedure output(A,B:matrix);
Какой матрица B была до вызова Output, такой и останется (по причине, указанной выше)...