Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Прошу помочь с задачкой. Сортировку сделать сделала, но не то... 2. Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений, а столбец, содержащий минимальный элемент, - по убыванию четных элементов
Листинг программы
  1. program change;
  2. uses crt;
  3. const n=5;
  4. var
  5. A : Array [1..n,1..n] of integer;
  6. i,j, mini, minj, maxi, maxj, min,max, temp,m,k: integer;
  7. begin
  8. clrscr;
  9. randomize;
  10. Writeln('Ishodnyi massiv');
  11. for i := 1 to n do
  12. begin
  13. writeln;
  14. for j := 1 to n do
  15. begin
  16. A[i,j] := random(45)-16;
  17. write(A[i,j]:5);
  18. end;
  19. end;
  20. min := A[1,1];
  21. max := A[1,1];
  22. for i := 1 to n do
  23. for j := 1 to n do
  24. begin
  25. if A[i,j] < min then
  26. begin
  27. min := A[i,j];
  28. mini := i;
  29. minj := j;
  30. end;
  31. if A[i,j] > max then
  32. begin
  33. max := A[i,j];
  34. maxi := i;
  35. maxj := j;
  36. end;
  37. end;
  38. writeln;
  39. writeln('Maksimalnyi element ',max:5);
  40. writeln('Minimalnyi element raven ',min:5);
  41. temp:= max;
  42. A[maxi,maxj] := A[mini,minj];
  43. A[mini,minj] := temp;
  44. writeln;
  45. writeln('Preobrazovannyi massiv');
  46. for i := 1 to n do
  47. begin
  48. writeln;
  49. for j := 1 to n do
  50. begin
  51. write(A[i,j]:5);
  52. end;
  53. end;
  54. for i:=1 to n-1 do
  55. for k:=1 to n-1 do
  56. begin
  57. if a[k,maxj]<a[k+1,maxj] then
  58. begin m:=a[k,maxj];a[k,maxj]:=a[k+1,maxj];a[k+1,maxj]:=m;
  59. end;
  60. end;
  61. writeln;
  62. for i:=1 to n-1 do
  63. for k:=1 to n-1 do
  64. begin
  65. if a[k,minj]>a[k+1,minj] then
  66. begin m:=a[k,minj];a[k,minj]:=a[k+1,minj];a[k+1,minj]:=m;
  67. end;
  68. end;
  69. writeln;
  70. writeln('Preobrazovannyi massiv');
  71. for i := 1 to n do begin
  72. for j := 1 to n do
  73. write(A[i,j]:5);writeln;
  74. end;
  75. readln;
  76. end.

Решение задачи: «Отсортировать столбец, содержащий максимальный элемент, по возрастанию абсолютных значений»

textual
Листинг программы
  1. program change;
  2. uses crt;
  3. const n=5;
  4. var
  5. A : Array [1..n,1..n] of integer;
  6. i,j, mini, minj, maxi, maxj, min,max, temp,m,k: integer;
  7. begin
  8. clrscr;
  9. randomize;
  10. Writeln('Ishodnyi massiv');
  11. for i := 1 to n do
  12.  begin
  13.   for j := 1 to n do
  14.    begin
  15.     A[i,j] := -16+random(45);
  16.     write(A[i,j]:5);
  17.    end;
  18.   writeln;
  19.  end;
  20. min := A[1,1];
  21. max := A[1,1];
  22. for i := 1 to n do
  23. for j := 1 to n do
  24. if A[i,j] < min then
  25.  begin
  26.   min := A[i,j];
  27.   minj := j;  {столбец, строка не нужна}
  28.   minj := j;
  29.  end
  30. else if A[i,j] > max then
  31.  begin
  32.   max := A[i,j];
  33.   maxj := j;
  34.  end;
  35. writeln('Maksimalnyi element ',max,' v stolbce ',maxj);
  36. writeln('Minimalnyi element raven ',min,' v stolbce ',minj);
  37. for i:=1 to n-1 do
  38. for j:=i+1 to n do
  39. if abs(A[i,maxj])>abs(A[j,maxj])then
  40.  begin
  41.   temp:=A[i,maxj];
  42.   A[i,maxj] := A[j,maxj];
  43.   A[j,maxj] := temp;
  44.  end;
  45. writeln('Sortirovka stolbca s max');
  46. for i := 1 to n do
  47.  begin
  48.   for j := 1 to n do
  49.   write(A[i,j]:5);
  50.   writeln;
  51.  end;
  52. for i:=1 to n-1 do
  53. for j:=i+1 to n do
  54. if (A[i,minj] mod 2=0)and(A[j,minj]mod 2=0)and(A[i,minj]<A[j,minj]) then
  55.  begin
  56.   temp:=A[i,minj];
  57.   A[i,minj]:=A[j,minj];
  58.   A[j,minj]:=temp;
  59.  end;
  60. writeln('Sortirovka stolbca s min');
  61. for i := 1 to n do
  62.  begin
  63.   for j := 1 to n do
  64.   write(A[i,j]:5);
  65.   writeln;
  66.  end;
  67. readln;
  68. end.

Объяснение кода листинга программы

  1. Создается программа change на языке Turbo Pascal.
  2. Используются стандартные библиотеки.
  3. Создается массив A размером n x n, где n равно 5.
  4. Заполняется случайными числами от -16 до 44 столбец массива A.
  5. Находится минимальный элемент в массиве A и сохраняется в переменную min.
  6. Находится максимальный элемент в массиве A и сохраняется в переменную max.
  7. Находится индекс столбца и строки, где находится минимальный элемент, и сохраняется в переменные minj и i соответственно.
  8. Находится индекс столбца и строки, где находится максимальный элемент, и сохраняется в переменные maxj и j соответственно.
  9. Выводится на экран найденный минимальный элемент и его индексы.
  10. Выводится на экран найденный максимальный элемент и его индексы.
  11. Выполняется сортировка столбца, содержащего максимальный элемент, по возрастанию абсолютных значений.
  12. Выводится на экран отсортированный столбец.
  13. Выполняется сортировка столбца, содержащего минимальный элемент, по возрастанию абсолютных значений.
  14. Выводится на экран отсортированный столбец.
  15. Выполняется чтение из файла до конца.
  16. Выполняется вывод на экран информации о программе.
  17. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы