Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений - Turbo Pascal
Формулировка задачи:
Здравствуйте!
Прошу помочь с задачкой. Сортировку сделать сделала, но не то... 2. Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений, а столбец, содержащий минимальный элемент, - по убыванию четных элементов
Листинг программы
- 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
- writeln;
- for j := 1 to n do
- begin
- A[i,j] := random(45)-16;
- write(A[i,j]:5);
- end;
- end;
- min := A[1,1];
- max := A[1,1];
- for i := 1 to n do
- for j := 1 to n do
- begin
- if A[i,j] < min then
- begin
- min := A[i,j];
- mini := i;
- minj := j;
- end;
- if A[i,j] > max then
- begin
- max := A[i,j];
- maxi := i;
- maxj := j;
- end;
- end;
- writeln;
- writeln('Maksimalnyi element ',max:5);
- writeln('Minimalnyi element raven ',min:5);
- temp:= max;
- A[maxi,maxj] := A[mini,minj];
- A[mini,minj] := temp;
- writeln;
- writeln('Preobrazovannyi massiv');
- for i := 1 to n do
- begin
- writeln;
- for j := 1 to n do
- begin
- write(A[i,j]:5);
- end;
- end;
- for i:=1 to n-1 do
- for k:=1 to n-1 do
- begin
- if a[k,maxj]<a[k+1,maxj] then
- begin m:=a[k,maxj];a[k,maxj]:=a[k+1,maxj];a[k+1,maxj]:=m;
- end;
- end;
- writeln;
- for i:=1 to n-1 do
- for k:=1 to n-1 do
- begin
- if a[k,minj]>a[k+1,minj] then
- begin m:=a[k,minj];a[k,minj]:=a[k+1,minj];a[k+1,minj]:=m;
- end;
- end;
- writeln;
- writeln('Preobrazovannyi massiv');
- for i := 1 to n do begin
- for j := 1 to n do
- write(A[i,j]:5);writeln;
- end;
- readln;
- end.
Решение задачи: «Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений»
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 соответственно.
- Выводится на экран найденный минимальный элемент и его индексы.
- Выводится на экран найденный максимальный элемент и его индексы.
- Выполняется сортировка столбца, содержащего максимальный элемент, по возрастанию абсолютных значений.
- Выводится на экран отсортированный столбец.
- Выполняется сортировка столбца, содержащего минимальный элемент, по возрастанию абсолютных значений.
- Выводится на экран отсортированный столбец.
- Выполняется чтение из файла до конца.
- Выполняется вывод на экран информации о программе.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д