Срочно. В простой понятной форме. Напишите программу, которая заполняет массив случайными...

0 голосов
38 просмотров

Срочно. В простой понятной форме. Напишите программу, которая заполняет массив случайными числами в диапазоне [a, b] и сортирует его “домиком” – до половины в порядке возрастания, затем – в порядке убывания. Количество элементов в массиве может быть любое! С объяснениями и откуда что взялось?


Информатика (1.0k баллов) | 38 просмотров
0

"В простой понятной форме?"

0

да

0

Типо на словесном языке?

0

не

0

короче. хоть что-то

0

Программу с комментариями?

0

да

0

На каком языке?

0

паскаль

0

комментарии на русском языке

Дан 1 ответ
0 голосов

Var
  A: array [1..255] of integer;
  N, i, j, k, min, max: integer;
begin
  //Ввод количества элементов в массиве
  write('Введите четное количество элементов: ');
  readln(N);
 
  //Ввод двух чисел для диапазона случайных чисел
  write('Введите диапазон случайных чисел: ');
  readln(min, max);
 
  //Инициализация датчика случайных чисел.
  //(в PascalABC.NET необязательно)
  randomize;
 
  //Заполнение массива
  for i := 1 to N do
  begin
    A[i] := random(max-min+1)+min;
    write(A[i]:4);
  end;
  writeln;
 
  //Сортировка первой половины по убыванию
  for i := 1 to ((N div 2)-1) do
    for j := 1 to (N div 2)-i do
      if A[j] > A[j+1] then
      begin
        k := A[j];
        A[j] := A[j+1];
        A[j+1] := k;
       end;
       
  //Сортировка второй половины по убыванию
  for i:=(N div 2) to N-1 do
    for j:=i+1 to N do
      if A[i]      begin
        k:=a[i];
        A[i]:=A[j];
        A[j]:=k;
      end;

  //Вывод массива
  for i := 1 to N do write(A[i]:4);
  writeln;
  readln;
end.

(9.4k баллов)
0

спасибо большое

0

выручил с