у меня при работе этой проги считается только последний мах элемент,помогите с кодом.Напишите пожалуйста правильный код этой задачи:В матрице целых чисел м*н найти все самые нижние мах элементы по всем столбцам,вывести на экран их значение и позицию в матрице.
compiler
25.12.2007 3:26
Цитата(монтик @ 24.12.2007 21:42)
у меня при работе этой проги с
показывай свою прогу:)
монтик
26.12.2007 1:04
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
26.12.2007 2:40
так происходит потому, что ты запоминаешь только максимальный элемен для последнего столбика. я вижу два способа решить проблемму 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) сохранять в вектор, а затем выводить(надо реализовывать?)
Гость
26.12.2007 3:31
если нетрудно,то можешь показать исправленную прогу,так чтобы она выводила ещё и позиции элементов.Пожалуйста!!!
Ozzя
26.12.2007 14:22
Цитата
она выводила ещё и позиции элементов
Тебе же сделали уже!
writeln(max, ' ego pozicia:',nmax,',',lmax);
монтик
27.12.2007 2:56
Огромное спасибо!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.