Заполнить массив из 10 элементов случайными числами в интервале [0.100] и отсортировать первую половину по - PascalABC.NET

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

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

Может кому нибудь да пригодится) Стараюсь все делать по шагам и чтобы было понятно каждому. Иногда вижу простые программы, но составленные очень запутанным способом. Поэтому желаю чтобы все программировали как можно понятнее и выкладывали свои результаты! Каждый должен делать вклад))
Листинг программы
  1. {Заполнить массив из 10 элементов случайными числами в интервале [0..100]
  2. и отсортировать первую половину по возрастанию, а вторую по убыванию.}
  3. program n5str63;
  4. Var A:Array[1..10] of Integer;
  5. Var i,j,c: Integer;
  6. begin
  7. For i:=1 to 10 do begin
  8. A[i]:= Random(0,100);
  9. Write(A[i]:5); { ':' - устанавливает ширину вывода значения массива}
  10. end;
  11. For i:=1 to 4 do begin {граница не должна залезать в другую половину}
  12. For j:=4 downto i do {используем метод пузырька}
  13. If A[j]>A[j+1] then begin
  14. C:= A[j];
  15. A[j]:=A[j+1];
  16. A[j+1]:=c;
  17. end;
  18. end;
  19. For i:=5 to 9 do begin
  20. For j:=9 downto i do
  21. If A[j]<A[j+1] then begin
  22. C:=A[j];
  23. A[j]:=A[j+1];
  24. A[j+1]:=c;
  25. end;
  26. end;
  27. writeln; {пустая печать, чтобы отсортированный массив вывелся на новой строчке}
  28. For i:=1 to 10 do write(A[i]:5);
  29. end.

Решение задачи: «Заполнить массив из 10 элементов случайными числами в интервале [0.100] и отсортировать первую половину по»

textual
Листинг программы
  1. const n=10;
  2. begin
  3.   randomize; //инициализируем ДСЧ
  4.   var a:=Range(0,n-1).Select(i->random(0,100)).ToArray(); //заполняем массив
  5.   a.Println; //печатаем
  6.   a:=Range(0,n div 2-1).Select(i->a[i]).OrderBy(i->i).
  7.       Concat(Range(n div 2,n-1).Select(i->a[i]).OrderByDescending(i->i)).ToArray();
  8.   a.Println;  //печатаем
  9. end.

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

  1. Инициализируем ДСЧ с помощью функции randomize.
  2. Заполняем массив a с помощью функции random(0,100), которая генерирует случайное число в интервале [0,100]. Используем метод Select для выбора элементов из диапазона от 0 до n-1 и присваиваем результат массиву a.
  3. Печатаем массив a с помощью функции Println.
  4. Сортируем первую половину массива a с помощью метода OrderBy(i->i), который сортирует элементы по возрастанию их индексов.
  5. Сортируем вторую половину массива a с помощью метода OrderByDescending(i->i), который сортирует элементы по убыванию их индексов.
  6. Объединяем отсортированные половины массива с помощью метода Concat и присваиваем результат обратно массиву a.
  7. Печатаем отсортированный массив a с помощью функции Println.

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


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

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

10   голосов , оценка 4.2 из 5

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

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

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