У меня вот какая проблема, я начал изучать Паскаль, но что-то пока не очень удачно, для Вас может это и простой вопрос будет, но для меня пока это немного сложновато. Значит вот задачка -дан массив из 4 строк и 5 столбцов, нужно вывести максимальный элемент первого столбца и пятого столбца. а затем их сумму! Ну вот у меня что-то не получается, точнее через раз. Вот если я ставлю максимальный элемент в 3-ю строку первого столбца(например 8) и в четвертую строку пятого столбца (наример 9), то ответ верный. Выводится сообщение, что максимальный элемент первого столбца -8, а максимальный пятого-9. Но если ставлю уже в другие места, то ответ неправильный или вообще выдаёт какую-то длинную цепочку цифр. Вот, помогите пожалуйста)) Ну и еще если нетрудно будет, то покажите как потом мне сложить эти максимальные элементы и вывести их на экран!! Заранее спасибо! Вот то, что я написал:
program mas; type matrix=array [1..5,1..4] of real; var m:matrix; i,j:integer; v:real; function e_max (m:matrix;j:integer):real; var max:real; i:integer; begin max:=m[i,j]; for i:=1 to 4 do begin if m[i,j]> max then max:=m[i,j]; end; write (max:4:2); end; begin writeln (‘Введите матрицу [1..5,1..4]’); for i:=1 to 4 do for j:=1 to 5 do read (m[i,j]); writeln (‘Наибольший элемент первого столбца равен’); v:=e_max(m,1); writeln; writeln (‘Наибольший элемент пятого столбца равен’); v:=e_max(m,5); writeln; read(v); end;
Пользуемся тегами !
klem4
18.12.2005 18:52
uses crt; const n = 4; m = 5; type
TMatrix = array[1..n,1..m] of single;
procedure Input(var x : TMatrix); var i,j : byte; begin for i := 1 to n do for j := 1 to m do begin write('x[',i,',',j,']='); readln(x[i,j]); end; end;
procedure Print(x : TMatrix); var i,j : byte; begin for i := 1 to n do begin writeln; for j := 1 to m do write(x[i,j]:6:1,' '); end; end;
function GetMax(x : TMatrix; j : byte) : single; var i : byte; max : single; begin max := x[1,j]; for i := 2 to n do if x[i,j] > max then max := x[i,j]; writeln('Max in ',j,' = ',max:3:1); GetMax := max; end;
var Matrix : TMatrix; Summa : single;
begin
clrscr;
Input(Matrix);
writeln;
Print(Matrix);
writeln;
Summa := GetMax(Matrix,1) + GetMax(Matrix,m);
writeln('s=', Summa:3:1);
readln
end.
Гость
18.12.2005 22:50
О спасибо тебе огромное!!! Я уже думал никто мене не поможет!!!Есть хорошие люди!! Пасиба ещё раз!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.