Другие языки программирования и технологии

Массивы в паскале

Помогите решить задачу. В двумерном массиве Е(9,2) найти максимальный элемент первой строки и максимальный элемент второй строки и поменять их местми. Вот код. Подскажите в чом там ошибка? Uses CRT; Var E:array[1..9,1..2] of Integer; max1,max2,k:Integer; i,j:Byte; BEGIN ClrScr; Randomize; WriteLn('Massiv E(9,2)'); For i:=1 to 9 do begin For j:=1 to 2 do begin E[i,j]:=random(50)-30; Write(E[i,j]:4); end; WriteLn; end; If E[1,1]
Доброго времени суток.

Вы эту задачу мучаете не первый час.. . Ведь уже давали ответы, что не так? Вот еще версия. Поскольку столбцов всего два, то максимальный элемент столбца можно найти простым сравнением. Собственно, надо искать не сам максимальный элемент, а его место, т. е. индексы. Со строками все понятно, это 1 и 2, а вот столбцы надо определить.

Uses CRT;
Var
E:array[1..9,1..2] of Integer;
max1,max2,k:Integer;
i,j:Byte;
MaxC1, MaxC2, Buf : Integer; {колонки с мах значением 1 и 2 строк и буфер}
BEGIN
ClrScr;
Randomize;
WriteLn('Massiv E(9,2)');
For i:=1 to 9 do begin
For j:=1 to 2 do begin
E[i,j]:=random(50)-30;
Write(E[i,j]:4);
end;
WriteLn;
end;

if E[1,1] > E[1,2] then MaxC1 := 1 else MaxC1 := 2; {индекс колонки с мах элем. }

if E[2,1] > E[2,2] then MaxC2 := 1 else MaxC2 := 2; {то же для второй строки}

Buf := E[1,MaxC1];
E[1,MaxC1] := E[2,MaxC2];
E[2,MaxC2] := Buf;

WriteLn;
For i:=1 to 9 do begin
For j:=1 to 2 do Write(E[i,j]:4);
WriteLn;
end;
ReadLn;
end.

Удачи!
Га
Гаджи
59 613
Лучший ответ
Евгений Коваленко Ошибочка. Я ее мучаю не первый месяц.
И уже все перепробывал. Найти находит но не меняет элементы.
For i:=1 to 9 do begin
For j:=1 to 2 do begin
E[i,j]:=random(50)-30;
Write(E[i,j]:4);
end;
WriteLn;
end;

Это ж только заполнение

min:=E[1,1];
for i:=1 to 9 do
if min>E[i,1] then min:=E[i,1];

помоему так минимум ищецца, давно с паскалем не работал.
&&
&&&a.r&&& &&&a.r&&&
3 043
Евгений Коваленко Вопрос обрезался и недополнился.
Вот продолжение