Отсортировать массив - Pascal (3818)

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

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

Упорядочить по возрастанию массив,содержащий 7 вещественных чисел. ВВод/вывод данных должен осуществляться посредством процедур ввода/вывода.Упорядоченный массив занести в файл.

Решение задачи: «Отсортировать массив»

textual
Листинг программы
var a:array[1..100] of integer;
    p,sl,j,f,k,i,n,m1,c:Integer;
begin
  Randomize;
  //n:=Random(15);
  Readln(n);
  for i:=1 to n do
    begin
      a[i]:=Random(200)-100;
      writeln(a[i]);
    end;
 
  i:=1;
  //p:=0;
  while (i<=n) do//н-1 чтобы в последующем не рассматривать ситуацию
    begin
      k:=1;
      while (k<=(n-i)) do
       begin
        sl:=a[k+1];//запоминаем "следующий элемент
        if a[k]>sl then//сделаем массив возрастающим,поэтому если первый элемент -больше последующего, то
          begin //переставим их местами
            a[k+1]:=a[k];//по адресу а(к+1) пропишется элемент находящийся в а(к)
            a[k]:=sl;//а по адресу а(к) пропишется элемент находящийся ранее по адресу а(к+1)
          end;
        inc(k);
       end;
      //if k=n then begin
      inc(i);
    end;
 
  writeln('novyi');
  for k:=1 to n do
      writeln(a[k]);
      Readln;
 
end.

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

  1. Создается переменная a типа array[1..100] of integer. Это означает, что будет создан массив из 100 целых чисел.
  2. Создаются переменные p, sl, j, f, k, i, n, m1 и c типа Integer. Они будут использоваться для различных операций.
  3. С помощью функции Randomize генерируется случайное число для переменной n.
  4. Считывается значение переменной n с помощью функции Readln.
  5. Запускается цикл for, который выполняется n раз. В каждой итерации цикла значение переменной i устанавливается равным 1.
  6. Запускается вложенный цикл while, который выполняется до тех пор, пока i меньше или равно n.
  7. Внутри вложенного цикла while устанавливается переменная k равной 1.
  8. Внутри вложенного цикла while выполняется цикл while, который также выполняется до тех пор, пока k меньше или равно (n-i).
  9. Внутри вложенного цикла while сохраняется значение следующего элемента массива в переменной sl.
  10. Проверяется условие if a[k]>sl then. Если это условие истинно, то происходит перестановка элементов массива.
  11. Значение переменной a[k] заменяется на значение переменной sl, а значение переменной sl заменяется на значение переменной a[k].
  12. Увеличивается значение переменной k на единицу.
  13. Если k равно n, то выполняется код внутри блока if. Это означает, что была выполнена полная итерация цикла.
  14. Увеличивается значение переменной i на единицу.
  15. Выводится сообщение novyi.
  16. Для каждой k от 1 до n выводится значение элемента массива a[k].
  17. Запрашивается ввод с клавиатуры.

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


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

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

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