Дана матрица A[1:5;1:6]. Найти максимальный элемент в каждом столбце и сформировать из них массив
Категория: Delphi/Pascal
2012-01-08 20:29:05
Если наибольший из этих элементов меньше 100, то элементы полученного массива упорядочить по возрастанию. Иначе из полученного массива удалить максимальный элемент
code: #pascal
program PascalGuru; uses crt; var A:array[1..5,1..6] of integer;{объявление переменных} B:array[1..6] of integer; n,i,j,max,k:integer; swop:boolean; procedure exchange(var a,b:integer); var c:integer; begin c:=a; a:=b; b:=c; end; {-----------------------------------} begin writeln('Vvedite matricu: '); writeln; for i:=1 to 5 do for j:=1 to 6 do begin write('A[',i,',',j,']='); readln(A[i,j]); end; clrscr; writeln('Vvedennyi massiv:'); for i:=1 to 5 do begin writeln; for j:=1 to 6 do write (A[i,j]:8); end; writeln; for j:=1 to 6 do begin max:=A[1,j]; for i:=2 to 5 do if A[i,j]>max then max:=A[i,j]; B[j]:=max; end; writeln;writeln('Massiv maksimalшnyh el-tov:'); writeln; for i:=1 to 6 do write(B[i]:8); max:=B[1]; k:=1; for i:=2 to 6 do if B[i]>max then begin max:=B[i]; k:=i; end; if max<100 then begin repeat n:=6; swop:=false; for i:=1 to n-1 do if B[i]>B[i+1] then begin {esli "<" togda po ubivaniiu } exchange(B[i],B[i+1]); swop:=true; end; n:=n-1; until not swop; writeln; writeln;writeln('Otsortirovannyi massiv:'); writeln; for i:=1 to 6 do write(B[i]:8); end else begin For i:=k+1 to 6 do B[i-1]:=B[i]; writeln; writeln;writeln('Massiv posle udaleniya:'); writeln; for i:=1 to 5 do write(B[i]:8); end; readln; end.
Поделиться: