Дан массив целых чисел B(M,N), M,N<=10. Переставить строки с максимальным и минимальным значениями среднего арифметического их элементов.- Pascal(Паскаль)



uses crt;
const nmax=10;
var a:array[1..nmax,1..nmax]of integer;
    m,n,i,j,imin,imax,x:integer;
    sr,max,min:real;
begin
clrscr;
randomize;
repeat
write('m=');readln(m);//вводим размер матрицы с проверкой
write('n=');readln(n);
until (m>0)and(m<=nmax)and(n>0)and(n<=nmax);
writeln('Ishodnaja matrica:');
for i:=1 to m do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
      end;
    writeln;
  end;
max:=-maxint; min:=maxint;imax:=1;imin:=1;
for i:=1 to m do
  begin
    sr:=0;
    for j:=1 to n do
    sr:=sr+a[i,j]/n;
     if sr>max then
        begin
          max:=sr;
          imax:=i;//ищем строку с максимальным средним
        end;
     if sr<min then
        begin
          min:=sr;
          imin:=i;//ищем строку с минимальным средним
        end;
  end;
writeln('imin=',imin,'  imax=',imax);
for j:=1 to n do
   begin
     x:=a[imin,j];
     a[imin,j]:=a[imax,j];//переставляем строки местами
     a[imax,j]:=x;
   end;
writeln('Rezultat:');
for i:=1 to m do
  begin
    for j:=1 to n do
    write(a[i,j]:4);
    writeln;
  end;
readln
end.


Leave a Comment

4 + 5 =