Помощь - Поиск - Пользователи - Календарь
Полная версия: матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
монтик
у меня при работе этой проги считается только последний мах элемент,помогите с кодом.Напишите
пожалуйста правильный код этой задачи:В матрице целых чисел м*н найти все самые нижние мах элементы по всем столбцам,вывести на экран их значение и позицию в матрице.
compiler
Цитата(монтик @ 24.12.2007 21:42) *
у меня при работе этой проги с
показывай свою прогу:)
монтик
program massivhiki;
uses crt;
type
massiv=array[1..15,1..15] of integer;
var
i,j,n,nmax,m,lmax:integer;
max:integer;
a:massiv;
begin
clrscr;
write('n=');
readln(n);
write('m=');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
for i:=1 to n do
for j:=1 to m do
begin
max:=a[1,1];
if a[i,j]>max then
begin
max:=a[i,j];
nmax:=i;
lmax:=j;
end;
end;
writeln;
writeln('matrica m*n');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln
end;
writeln;
writeln('maks element stolbca:');
writeln;
write(max,' ego pozicia:',nmax,',',lmax);
writeln;
readln
end.
Немогу найти ошибку,прога должна выводить мах элементы всех стобцов,а не одного.А также их позиции.
compiler
так происходит потому, что ты запоминаешь только максимальный элемен для последнего столбика. я вижу два способа решить проблемму
1) выводить элемент сразу как нашел(используеется чаще всего)
for i:=1 to n do begin
max:=a[1,i];
for j:=1 to m do begin
if a[j,i]>=max then begin
max:=a[j,i];
nmax:=i;
lmax:=j;
end;
end;
writeln('maks element stolbca:');
writeln(max, ' ego pozicia:',nmax,',',lmax);
end;

2) сохранять в вектор, а затем выводить(надо реализовывать?)
Гость
если нетрудно,то можешь показать исправленную прогу,так чтобы она выводила ещё и позиции элементов.Пожалуйста!!!
Ozzя
Цитата
она выводила ещё и позиции элементов

Тебе же сделали уже!

writeln(max, ' ego pozicia:',nmax,',',lmax);

монтик
Огромное спасибо!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.