Дана матрица А(M,N) Составить вектор из номеров столбцов, где есть хотя бы одно число, в котором все цифры одинаковые (элементы матрицы > 10)
Категория: Delphi/Pascal
2012-01-30 20:57:42
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.
Поделиться: