Притянуто "за уши", но такое уж задание несуразное. Видимо, для старых версий языка.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
function Summa(a:array of integer):=a.Sum;
begin var a:=ArrRandom(10,-99,99); a.Println; Writeln; var b:=ArrRandom(20,-99,99); b.Println; Writeln; var c:=ArrRandom(30,-99,99); c.Println; Writeln; Writeln('S=',Summa(a)+Summa(b)+Summa(c)) end.
Const nmax=20;var a:array[1..nmax,1..nmax] of integer; m,n,i,j,k,l,p:byte;begin randomize;repeatwrite('Количество строк до ',nmax,' n=');readln(n);until n in [1..nmax];repeatwrite('Количество столбцов до ',nmax,' m=');readln(m);until m in [1..nmax];writeln('Исходная матрица:');for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end;writeln;k:=0;{наличие нужного столбца}j:=1;while(j<=m) and(k=0) do{идем по столбцам} begin p:=0;{наличие совпадений} for i:=1 to n-1 do{идем вниз по столбцу} for l:=i+1 to n do{смотрим впереди} if a[i,j]=a[l,j] then p:=1;{если одинаковые, фиксируем} if p=1 then k:=1{есть столбец} else j:=j+1;{нет, смотрим следующий} end;if k=1 then write('Столбец с одинаковыми элементами есть')else write('Столбца с одинаковыми элементами нет');readlnend.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
function Summa(a:array of integer):=a.Sum;
begin
var a:=ArrRandom(10,-99,99); a.Println; Writeln;
var b:=ArrRandom(20,-99,99); b.Println; Writeln;
var c:=ArrRandom(30,-99,99); c.Println; Writeln;
Writeln('S=',Summa(a)+Summa(b)+Summa(c))
end.
Пример
53 34 13 64 79 28 -98 -43 -19 23
96 -18 48 61 -70 -16 92 0 27 65 -68 -17 -77 90 -13 69 46 85 71 -44
-21 65 -56 31 56 25 37 50 -35 52 91 -94 12 -98 -51 -73 6 -31 -7 -32 35 -88 -53 63 -93 -29 11 22 -23 -89
S=244
randomize;repeatwrite('Количество строк до ',nmax,' n=');readln(n);until n in [1..nmax];repeatwrite('Количество столбцов до ',nmax,' m=');readln(m);until m in [1..nmax];writeln('Исходная матрица:');for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end;writeln;k:=0;{наличие нужного столбца}j:=1;while(j<=m) and(k=0) do{идем по столбцам} begin p:=0;{наличие совпадений} for i:=1 to n-1 do{идем вниз по столбцу} for l:=i+1 to n do{смотрим впереди} if a[i,j]=a[l,j] then p:=1;{если одинаковые, фиксируем} if p=1 then k:=1{есть столбец} else j:=j+1;{нет, смотрим следующий} end;if k=1 then write('Столбец с одинаковыми элементами есть')else write('Столбца с одинаковыми элементами нет');readlnend.