Другие языки программирования и технологии
Массивы в паскале
Помогите решить задачу. В двумерном массиве Е(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.
Удачи!
Вы эту задачу мучаете не первый час.. . Ведь уже давали ответы, что не так? Вот еще версия. Поскольку столбцов всего два, то максимальный элемент столбца можно найти простым сравнением. Собственно, надо искать не сам максимальный элемент, а его место, т. е. индексы. Со строками все понятно, это 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.
Удачи!
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];
помоему так минимум ищецца, давно с паскалем не работал.
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];
помоему так минимум ищецца, давно с паскалем не работал.
Евгений Коваленко
Вопрос обрезался и недополнился.
Вот продолжение
Вот продолжение
Похожие вопросы
- Аналог ассоциативного массива в Паскале.
- Разработать программу анализа или преобразования массива в Паскале
- Помогите плиз с массивом по паскалю!!))никак не могу решить(((
- двумерный динамический массив в паскале
- Вопрос про массивы в паскале
- Помогите,пожалуйста,решить задачу на двумерные массивы,в паскале.(задача вн.)Спасибо.
- 2. Отсортировать массив из n чисел и подсчитать количество уникальных чисел в массиве. на паскале
- Двумерный массив/Турбо паскаль/нужна помощь=( А(12)Заменить отрицательные элементы стоящие на чётных местах цифрой 8.
- Как задать двумерный динамический массив в Паскале?
- Паскаль Массивы
И уже все перепробывал. Найти находит но не меняет элементы.