Выполнить ранжирование массива - Pascal ABC

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

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

В заданных границах посредством генератора случайных чисел создать одномерный массив в заданных границах. Выполнить ранжирование массива от мала до велика и от большого к малому. Создание одномерного массива посредством генератора случайных чисел: массив целого типа, количество элементов массива 50+№варианта. Диапазон чисел от N= -(20+№ варианта) к K=+(20+№ варианта) находится по формуле. "18 Вариант" Сформировать массив каждый элемент которого равен соответствующему элементу исходного массива деленному на максимальный элемент.

Решение задачи: «Выполнить ранжирование массива»

textual
Листинг программы
const
r=50+18;
 
type
 msv=array[1..r] of integer;
 
var
 i,k: byte;
 mas :msv;
 n,t: integer;
begin
 n:=-38;
 writeln(' Исходный массив ');
 for i:=1 to r do
  begin
   mas[i]:=n+random(2*abs(n)+1);
   if i=1 then write('[');
   write(mas[i]:3);
 
   if i<r then write(',') else writeln(']');
    if i mod 10 =0 then writeln;
  end;
  writeln;
 
 
 
 for i:=1 to r-1 do
  for k:=i to r do
   if mas[i]>mas[k] then
     begin
       t:=mas[i];
       mas[i]:=mas[k];
       mas[k]:=t;
     end;
 
 writeln(' Массив по возрастанию элементов');
 for i:=1 to r do
  begin
    if i=1 then write('[');
    write(mas[i]:3);
    if i<r then write(',') else writeln(']');
    if i mod 10 =0 then writeln;
  end;
 writeln;
 
 writeln(' Массив по убыванию элементов');
 for i:=r downto 1 do
  begin
    if i=r then write('[');
    write(mas[i]:3);
    if i<=r then write(',') else writeln(']');
    if i mod 10 =0 then writeln;
  end;
 writeln;
 
  writeln(' Новый массив');
 for i:=1 to r do
  begin
    if i=1 then write('[');
    write(mas[i]/mas[r]:7:3);
    if i<r then write(',') else writeln(']');
    if i mod 10 =0 then writeln;
  end;
 
 
end.

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

  1. Переменная r инициализируется значением 50+18, что равно 68.
  2. Создается тип данных msv, который представляет собой массив целых чисел размером от 1 до r.
  3. Создается переменная mas типа msv.
  4. Создаются две переменные i и k типа byte.
  5. Вычисляется значение переменной n как -38.
  6. Выводится сообщение «Исходный массив» и выводится массив mas с помощью цикла for.
  7. В цикле for происходит заполнение массива mas случайными числами от n до n+random(2*abs(n)+1).
  8. Если i равно 1, то выводится [, иначе выводится mas[i]:3.
  9. Если i меньше r, то выводится запятая, иначе выводится ].
  10. Если i делится на 10, то выводится пробел.
  11. Выводится сообщение «Массив по возрастанию элементов» и выводится массив mas с помощью цикла for.
  12. В цикле for происходит вывод элементов массива mas с шагом от 1 до r.
  13. Если i равно 1, то выводится [, иначе выводится mas[i]:3.
  14. Если i меньше r, то выводится запятая, иначе выводится ].
  15. Если i делится на 10, то выводится пробел.
  16. Выводится сообщение «Новый массив» и выводится массив mas с помощью цикла for.
  17. В цикле for происходит вывод элементов массива mas с шагом от 1 до r.
  18. Если i равно 1, то выводится [, иначе выводится mas[i]/mas[r]:7:3.
  19. Если i меньше r, то выводится запятая, иначе выводится ].
  20. Если i делится на 10, то выводится пробел.

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


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

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

14   голосов , оценка 4.071 из 5
Похожие ответы