Дана матрица А(M,N) Составить вектор из номеров столбцов, где есть хотя бы одно число, в котором все цифры одинаковые (элементы матрицы > 10)

code: #pascal
program ff;
uses crt;
var A:array[1..100,1..100] of integer; {переменная массива}
    i,j,m,n:integer; {переменные для циклов}
    B:array[1..100] of integer;  {переменная массива}
 
{функция, определяющая есть ли в столбце цифры с одинаковыми цифрами}
function estivstolbce(j:integer):boolean;
var i,k:integer;
    s:string;
    b:boolean;
begin
for i:=1 to m do
    begin
    b:=true;
    str(A[i,j],s);
    for k:=2 to length(s) do
    if s[1]<>s[k] then b:=false;
 
    if b then begin estivstolbce:=b; exit; end;
    end;
estivstolbce:=b;
end;
{---конец функции}
{--------------------------------------------}
begin
write('M= '); readln (m); {считываем размер массива}
write('N= '); readln (n); {считываем размер массива}
 
writeln ('Vvedite elementy massiva A (>10): ');
for i:=1 to m do
for j:=1 to n do begin
write ('A[',i,',',j,']='); readln (A[i,j]); end; {считываем сам массив}
 
clrscr;
write ('Vot vvedennyy vami massiv A: ');
for i:=1 to m do begin writeln;
for j:=1 to n do write (A[i,j]:4,' '); end;  {выводим массив}
 
i:=0;
for j:=1 to n do
if estivstolbce(j) then begin inc(i); B[i]:=j; end; {записываем в массив номера столбцов}
writeln;writeln;
write('Massiv B: ');
for j:=1 to i do write(B[j],' ');  {выводим массив В, в котором номера столбцов где есть элементы с одинаковыми цифрами}
 
readln;
end.      
Поделиться:

Похожие статьи: