Помощь - Поиск - Пользователи - Календарь
Полная версия: Массиму и сумма!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
yura
unsure.gif У меня вот какая проблема, я начал изучать Паскаль, но что-то пока не очень удачно, для Вас может это и простой вопрос будет, но для меня пока это немного сложновато. Значит вот задачка -дан массив из 4 строк и 5 столбцов, нужно вывести максимальный элемент первого столбца и пятого столбца. а затем их сумму! Ну вот у меня что-то не получается, точнее через раз. Вот если я ставлю максимальный элемент в 3-ю строку первого столбца(например 8) и в четвертую строку пятого столбца (наример 9), то ответ верный. Выводится сообщение, что максимальный элемент первого столбца -8, а максимальный пятого-9. Но если ставлю уже в другие места, то ответ неправильный или вообще выдаёт какую-то длинную цепочку цифр. Вот, помогите пожалуйста)) mega_chok.gif Ну и еще если нетрудно будет, то покажите как потом мне сложить эти максимальные элементы и вывести их на экран!! Заранее спасибо! Вот то, что я написал:

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
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.
Гость
good.gif О спасибо тебе огромное!!! yes2.gif Я уже думал никто мене не поможет!!!Есть хорошие люди!! smile.gif Пасиба ещё раз!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.