Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений - Turbo Pascal
Формулировка задачи:
Здравствуйте!
Прошу помочь с задачкой. Сортировку сделать сделала, но не то... 2. Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений, а столбец, содержащий минимальный элемент, - по убыванию четных элементов
Решение задачи: «Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений»
textual
Листинг программы
program change;
uses crt;
const n=5;
var
A : Array [1..n,1..n] of integer;
i,j, mini, minj, maxi, maxj, min,max, temp,m,k: integer;
begin
clrscr;
randomize;
Writeln('Ishodnyi massiv');
for i := 1 to n do
begin
for j := 1 to n do
begin
A[i,j] := -16+random(45);
write(A[i,j]:5);
end;
writeln;
end;
min := A[1,1];
max := A[1,1];
for i := 1 to n do
for j := 1 to n do
if A[i,j] < min then
begin
min := A[i,j];
minj := j; {столбец, строка не нужна}
minj := j;
end
else if A[i,j] > max then
begin
max := A[i,j];
maxj := j;
end;
writeln('Maksimalnyi element ',max,' v stolbce ',maxj);
writeln('Minimalnyi element raven ',min,' v stolbce ',minj);
for i:=1 to n-1 do
for j:=i+1 to n do
if abs(A[i,maxj])>abs(A[j,maxj])then
begin
temp:=A[i,maxj];
A[i,maxj] := A[j,maxj];
A[j,maxj] := temp;
end;
writeln('Sortirovka stolbca s max');
for i := 1 to n do
begin
for j := 1 to n do
write(A[i,j]:5);
writeln;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if (A[i,minj] mod 2=0)and(A[j,minj]mod 2=0)and(A[i,minj]<A[j,minj]) then
begin
temp:=A[i,minj];
A[i,minj]:=A[j,minj];
A[j,minj]:=temp;
end;
writeln('Sortirovka stolbca s min');
for i := 1 to n do
begin
for j := 1 to n do
write(A[i,j]:5);
writeln;
end;
readln;
end.
Объяснение кода листинга программы
- Создается программа
changeна языке Turbo Pascal. - Используются стандартные библиотеки.
- Создается массив A размером n x n, где n равно 5.
- Заполняется случайными числами от -16 до 44 столбец массива A.
- Находится минимальный элемент в массиве A и сохраняется в переменную min.
- Находится максимальный элемент в массиве A и сохраняется в переменную max.
- Находится индекс столбца и строки, где находится минимальный элемент, и сохраняется в переменные minj и i соответственно.
- Находится индекс столбца и строки, где находится максимальный элемент, и сохраняется в переменные maxj и j соответственно.
- Выводится на экран найденный минимальный элемент и его индексы.
- Выводится на экран найденный максимальный элемент и его индексы.
- Выполняется сортировка столбца, содержащего максимальный элемент, по возрастанию абсолютных значений.
- Выводится на экран отсортированный столбец.
- Выполняется сортировка столбца, содержащего минимальный элемент, по возрастанию абсолютных значений.
- Выводится на экран отсортированный столбец.
- Выполняется чтение из файла до конца.
- Выполняется вывод на экран информации о программе.
- Программа завершается.