Дан двумерный массив размером n*m, заполненный случайными числами. определить, есть ли в данном массив столбец, в котором имеются одинаковые элементы. pascalabc
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.
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.