Подпрограмма для обработки матрицы

Четверг, 10 Сен 2009

Написать подпрограмму обработки матриц. Подпрограмма должна создавать одномерный массив из максимальных элементов столбцов матрицы. Выполнить для 2 матриц различной размерности.

program 2matrici;
label start;
type aa=array[1..30,1..30] of real;
bb=array[1..30] of real;
var a:aa;
b:bb;
m,n,i,j,q:integer;
Procedure proc(var ap:aa; np,mp:integer; var bp:bb);
var ip,jp:integer;
max:real;
Begin
for jp:=1 to mp do
begin
bp[jp]:=ap[1,jp];
for ip:=1 to np do
begin
if ap[ip,jp]>bp[jp] then bp[jp]:=ap[ip,jp];
end;
end;
End;
BEGIN
start:
writeln(’Vvedite razmeri matrici (n-strok,m-stolbcov):’);
read(n,m);
writeln(’Vvedite matricu:’);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(a[i,j]);
end;
writeln;
end;
proc(a,n,m,b);
writeln(’Polucheni MAX elementi stolbcov:’);
for j:=1 to m do write(b[j]:5:2);
writeln;
writeln(’Nazgmite “1″ chtob prodolgit, “0″ -vihod’);
readln(q);
if q=1 then goto start;
readln;
end.

Массив умножить на максимальный элемент

Среда, 09 Сен 2009

Даны целые числа A(k). Все члены последовательности, которые находятся перед первым максимальным элементом, умножить на максимальный элемент.

Program massiv;
const n=10;
var
A:array [1..n] of integer;
i,k:integer;
begin
writeln();
for i:=1 to n do begin
A[i]:=random(100);
write(a[i],’ ‘);
end;
writeln();
k:=1;
for i:=2 to n do
if a[k]<a[i] then k:=i;
for i:=1 to n do begin
if i>k then a[i]:=a[i]*a[k];
write(a[i],’ ‘);
end;
end.