Порядковый номер в матрице - Turbo Pascal
Формулировка задачи:
Здравствуйте. Задание: Найти наибольшие элементы и их порядковые номера в матрицах А и В.
Наибольшие элементы программа находит, а как сделать чтоб порядковые номера их выводил?
Решение задачи: «Порядковый номер в матрице»
textual
Листинг программы
uses crt;
const K=5;
type mat=array[1..k,1..k] of real;
var a,b:mat;
i,j,m,n:integer;
max1, max2, z:real;
imax1,jmax1,imax2,jmax2: byte;
procedure input (var c:mat);
var i,j:integer;
begin
for i:=1 to k do begin
for j:=1 to k do begin
c[i,j]:=random(50);
end; end;
end;
procedure print (var c:mat);
var i,j:integer;
begin
writeln('Massiv : ');
for i:=1 to k do begin
for j:=1 to k do begin
write(c[i,j]:5:0);
write(' ');
end;
writeln(' ') end;
end;
procedure SearchMax(var c:mat; var max:real; var im,jm: byte);
begin
max:=0;
for i:=1 to k do
for j:=1 to k do
if i = j then
begin
if c[i,j] > max then
begin
max:=c[i,j];
im:=i;
jm:=j;
end;
m:=i; n:=j;
end;
end;
begin
clrscr;
randomize;
input(a);
input(b);
print(a);
print(b);
max1:=0;
max2:=0;
searchmax(a,max1,imax1,jmax1);
searchmax(b,max2,imax2,jmax2);
writeln('');
writeln('x=',max1:6:0,', в строке ',imax1,', в столбце ',jmax1);
writeln('y=',max2:6:0,', в строке ',imax2,', в столбце ',jmax2);
readkey;
end.
Объяснение кода листинга программы
- Объявлены переменные:
- a, b: mat;
- i, j, m, n: integer;
- max1, max2, z: real;
- imax1,jmax1,imax2,jmax2: byte;
- Введен блок процедур:
- procedure input (var c:mat);
- Введен блок процедур:
- procedure print (var c:mat);
- Введен блок процедур:
- procedure SearchMax(var c:mat; var max:real; var im,jm: byte);
- Введен основной блок:
- clrscr;
- randomize;
- input(a);
- input(b);
- print(a);
- print(b);
- max1:=0;
- max2:=0;
- SearchMax(a,max1,imax1,jmax1);
- SearchMax(b,max2,imax2,jmax2);
- writeln('');
- writeln('x=',max1:6:0,', в строке ',imax1,', в столбце ',jmax1);
- writeln('y=',max2:6:0,', в строке ',imax2,', в столбце ',jmax2);
- readkey;
- Функция input() заполняет массив случайными числами от 0 до 50.
- Функция print() выводит содержимое массива на экран.
- Функция SearchMax() ищет максимальное значение в массиве и запоминает его координаты.
- В основном блоке программа заполняет два массива, выводит их на экран, ищет максимальные значения и выводит их координаты.