Определить сумму элементов в каждой строке матрицы. Если минимальная из этих сумм положительная, то поменять местами вторую и третью строки
Категория: Delphi/Pascal
2012-01-09 18:18:08
code: #pascal
program PascalGuru; uses crt; var A:array[1..50,1..50] of integer; B,C:array[1..50] of integer; i,j,n,summa,min,count,max_c:integer; procedure exchange(var a,b:integer); var c:integer; begin c:=a; a:=b; b:=c; end; {----------------------------------------------------} begin write('Razmer matritsy= '); readln(n); for i:=1 to n do for j:=1 to n do begin write ('A[',i,',',j,']= '); readln (A[i,j]); end; clrscr; write('A:'); for i:=1 to n do begin writeln; for j:=1 to n do write (A[i,j]:8); end; writeln;writeln; for i := 1 to n do begin summa:=0; for j := 1 to n do summa:=summa+A[i,j]; B[i]:=summa; end; min:=B[1]; for i :=2 to n do if B[i]<min then min:=B[i]; writeln;writeln; writeln('Min= ',min); writeln;writeln; if min>=0 then begin for j:=1 to n do exchange (A[2,j],A[3,j]); write('A:'); for i:=1 to n do begin writeln; for j:=1 to n do write (A[i,j]:8); end; end else begin for j:=1 to n do begin count:=0; for i:=1 to n do if A[i,j]<0 then inc(count); C[j]:=count; max_c:=1; for i:=2 to n do if C[i]>C[max_c] then max_c:=i; end; for i:=1 to n do for j:=max_c+1 to n do A[i,j-1]:=A[i,j]; write('A:'); for i:=1 to n do begin writeln; for j:=1 to n-1 do write (A[i,j]:8); end; end; readln; end.
Поделиться: