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

Четверг, 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

Дана матрица целых чисел. Найти меньший элемент матрицы. Записать нули в ту строку, в которой он находился.

Program null;
const n=4;m=4;
var
A:array [1..n,1..m] of integer;
i,j,imin,jmin:integer;
begin
writeln;
for i:=1 to n do begin
writeln();
for j:=1 to m do begin
A[i,j]:=random(100);
write(a[i,j],’ ‘);
end;
end;
imin:=1; jmin:=1;
for i:=1 to n do
for j:=1 to m do begin
if a[i,j]<a[imin,jmin] then begin
imin:=i;
jmin:=j;
end;
end;
for i:=1 to n do begin
writeln();
for j:=1 to m do begin
if i=imin then a[i,j]:=0;
write(a[i,j],’ ‘);
end;
end;
end.