 
                                                 
                                                const n = 5;
          m = 5;
var
  a: array[1..n, 1..m] of integer;
  i, j, tmp, s_s: integer;
  magic: boolean;
begin
  magic := true;
  for i := 1 to n do begin
    for j := 1 to m do begin
      a[i, j] := random(50);
      write(a[i, j]:4);
      if(i = 1) then s_s := s_s + a[i, j];
      if(j mod m = 0) then writeln;
    end;
  end;
  for i := 2 to n do begin
    tmp := 0;
    for j := 1 to m do begin
      tmp := tmp + a[i, j];
    end;
    if(tmp <> s_s) then begin
      magic := false;
      break;
    end;
  end;
  for i := 1 to n do begin
    tmp := 0;
    for j := 1 to m do begin
      tmp := tmp + a[j, i];
    end;
    if(tmp <> s_s) then begin
      magic := false;
      break;
    end;
  end;
  if(magic) then writeln('Матрица является магическим квадратом') else
    writeln('Матрица не является магическим квадратом');
end.
 
                                                Program TwoSums;
Uses Crt;
var a:array[1..10] of integer;
i:integer;
s1,s2:longint
begin
clrscr;
write('Исходный массив:');
s1:=0;s2:=0;
for i:=1 to 10 do
begin
a[i]:=random(101)-50;
write(a[i]:3);
if (i mod 2)<>0 then s1:=s1+a[i]
else s2:=s2+a[i];
end;
writeln;
writeln('Сумма нечётных элементов массива:',s1);
writeln('Сумма чётных элементов массива:',s2);
if (s1=s2) then writeln('Суммы равны');
if (s1>s2) then writeln('Сумма нечётных элементов массива больше !')
else writeln(' Сумма чётных элементов массива больше !');
readkey;
end.
 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                
2. C, B
Не сложно ведь.