Отсортировать массив целых чисел методом вставки в порядке возрастания - Turbo Pascal

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

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

Дан массив целых чисел А [1.N]. Отсортировать их методом вставки в порядке возрастания (оформить в виде про
Листинг программы
  1. PROGRAM LAB4;
  2. USES CRT;
  3. VAR
  4. A: ARRAY [1..10] OF INTEGER;
  5. I, J, T,N, Sum, Kolich: INTEGER;
  6. SrArif: REAL;
  7. BEGIN
  8. CLRSCR;
  9. WRITE('Vvedite chislo elementov massiva N = ');
  10. READLN(N);
  11. WRITELN('Vvodite elementy massiva: ');
  12. FOR I := 1 TO N
  13. DO
  14. READ(A[I]);
  15. FOR I := 1 TO N-1
  16. DO
  17. FOR J := I + 1 to N
  18. DO
  19. IF A[J] < A[I]
  20. THEN
  21. BEGIN
  22. T := A[I];
  23. A[I] := A[J];
  24. A[J] := T;
  25. END;
  26. Sum := 0;
  27. Kolich := 0;
  28. FOR I := 1 TO N
  29. DO
  30. IF A[I] < 0
  31. THEN
  32. BEGIN
  33. Sum := Sum + A[I];
  34. Kolich := Kolich + 1;
  35. END;
  36. IF Kolich > 0
  37. THEN
  38. BEGIN
  39. SrArif := Sum / Kolich;
  40. Kolich := Kolich - 1
  41. END
  42. ELSE
  43. WRITELN('chisel, ydov uslov, net');
  44. WRITELN('Srednee arif= ',SrArif:4:2);
  45. WRITE('Otsortirovannyu po vosrastaniu massiv: ');
  46. FOR I := 1 TO N
  47. DO
  48. WRITE (A[I]:4);
  49. WRITELN;
  50. READKEY
  51. END.
Вот эту программу надо переделать, чтоб были функции и процедуры

Решение задачи: «Отсортировать массив целых чисел методом вставки в порядке возрастания»

textual
Листинг программы
  1. PROGRAM LAB4;
  2. USES CRT;
  3. type
  4. arr=ARRAY [1..10] OF INTEGER;
  5. VAR
  6.   A: ARR;
  7.   I,N: INTEGER;
  8.   cc: REAL;
  9.   procedure sort(var x:arr; const n:integer);
  10.   var
  11.   i,j,t:integer;
  12.   begin
  13.  
  14.     FOR I := 1 TO N-1
  15.   DO
  16.     FOR J := I + 1 to N
  17.     DO
  18.       IF x[J] < A[I]
  19.       THEN
  20.         BEGIN
  21.           T := x[I];
  22.           x[I] := x[J];
  23.           x[J] := T;
  24.         END;
  25.         end;
  26.         function avg( x:arr; const n:integer):real;
  27.         var
  28.         sum,kolich,i:integer;
  29.         begin
  30.         Sum := 0;
  31.   Kolich := 0;
  32.   FOR I := 1 TO N
  33.   DO
  34.     IF A[I] < 0
  35.     THEN
  36.       BEGIN
  37.         Sum := Sum + A[I];
  38.         Kolich := Kolich + 1;
  39.       END;
  40.   IF Kolich > 0
  41.   THEN
  42.     BEGIN
  43.       avg := Sum / Kolich;
  44.       Kolich := Kolich - 1
  45.     END
  46.   ELSE
  47.     WRITELN('chisel, ydov uslov, net');
  48.     end;
  49. BEGIN
  50.   CLRSCR;
  51.   WRITE('Vvedite chislo elementov massiva N = ');
  52.   READLN(N);
  53.   WRITELN('Vvodite elementy massiva: ');
  54.   FOR I := 1 TO N
  55.   DO
  56.     READ(A[I]);
  57.     cc:=avg(a,n);
  58.  
  59.   WRITELN('Srednee arif= ',cc:4:2);
  60.    sort(a,n);
  61.   WRITE('Otsortirovannyu po vosrastaniu massiv: ');
  62.   FOR I := 1 TO N
  63.   DO
  64.     WRITE (A[I]:4);
  65.   WRITELN;
  66.  
  67. END.

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

  1. Создается программа Lab4, которая использует библиотеку CRT.
  2. Определяется тип данных arr, который представляет собой массив целых чисел размером от 1 до 10.
  3. Создаются переменные A, I, N и cc, которые представляют собой массив, индексы, номер элементов и среднее арифметическое соответственно.
  4. Определяется процедура sort, которая принимает массив x и его размер n в качестве параметров.
  5. Внутри процедуры sort происходит сортировка массива x методом вставки в порядке возрастания.
  6. Для каждого элемента x[i] выполняется проверка: если он меньше элемента A[i-1], то происходит обмен элементов.
  7. В функции avg, которая вычисляется внутри процедуры sort, происходит подсчет суммы и количества элементов массива.
  8. После завершения сортировки вызывается функция avg, чтобы вычислить среднее арифметическое.
  9. Выводится сообщение о том, что среднее арифметическое равно определенному значению.
  10. Выводится отсортированный массив.
  11. Программа завершается.

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


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

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

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

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

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

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