program a1;
const
 N = 5;
 M = 5;
 var a:array [1..n, 1..n] of integer;
 i,j,s1,s2,b,c,d,e,f,k,s:integer;     {Ввод переменных}
begin
 randomize;
  for i:=1 to n do
    for j:=1 to m do
a[i,j]:=random(50);     {Заполнение массива случайными числами от 0 до 49}
 for i:=1 to n do
 begin
  for j:=1 to m do
    write(a[i,j]:3);
    writeln;    {Вывод массива}
 end;
 writeln;
  s1:=0;
  s2:=0;
  for j:=1 to m do
   begin
    s1:=s1+a[1,j];
    s2:=s2+a[n,j];    {Нахождение сумм первой и второй стоки массива}
   end;
  writeln('Summa pervoi stroki= ',s1);
  writeln('Summa vtoroi stroki= ',s2);    {Вывод сумм}
  writeln;
    if s1<s2 then
     begin
      for j:=1 to m do
       begin
       b:=a[1,j];
       c:=a[2,j];
       d:=a[3,j];
       e:=a[4,j];
       f:=a[5,j];   {Присвоение переменным значения строк массива}
        a[1,j]:=c;
        a[2,j]:=d;
        a[3,j]:=e;
        a[4,j]:=f;
        a[5,j]:=b;   {Присвоение строкам массива значения переменных}
     end;
       end;
    if s1>s2 then
     begin
      for i := 1 to n-1 do
      for j := 1 to m-i do
       if a[3,j] < a[3,j+1] then
        begin
         k := a[3,j];
         a[3,j] := a[3,j+1];
         a[3,j+1] := k;     {Сотировка третьей строки массива пузырьковым методом по убыванию}
        end;
     end;
     s:=0;
     if s1=s2 then
      begin
        for i:=1 to n do
        for j:=1 to m do
         if a[i,j] mod 2<>0 then
          s:=s+a[i,j];     {Нахождение суммы всех нечетных чисел массива}
          write('Summa vseh nechetnyh chisel massiva=',s);
      end;
      if s1<>s2 then
       begin
        for i:=1 to n do
         begin
          for j:=1 to m do
           write(a[i,j]:3); {Вывод массива}
           writeln;
         end;
       end;
readln
end.

