Перестановка последнего элемента массива с наименьшим элементом - Pascal ABC

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

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

Смогла переставить лишь максимальный с минимальным, но нужно с последним элементом, никак не выходит.....
Листинг программы
  1. program z3;{В данном одномерном массиве переставить последний элемент с наименьшим элементом массива}
  2. const n=20;
  3. var a: array [1..20] of integer;
  4. i,imax,imin: byte;
  5. buf: integer;
  6. begin
  7. imax:=1; imin:=1;
  8. writeln('Дан массив');
  9. for i:=1 to 20 do
  10. begin
  11. a[i]:=-50+random(100);
  12. write(a[i],' ');
  13. if a[i]>a[] then imax:=i;
  14. if a[i]<a[imin] then imin:=i;
  15. end;
  16. writeln;
  17. writeln('Мин. элемент ',a[imin],' под индексом ',imin);
  18. writeln('Макс. элемент ',a[imax],' под индексом ',imax);
  19. buf:=a[imax];
  20. a[imax]:=a[imin];
  21. a[imin]:=buf;
  22. writeln('Новый массив занесен в файл');
  23. for i:=1 to 20 do
  24. begin
  25. write(a[i],' ');
  26. end;
  27. end.

Решение задачи: «Перестановка последнего элемента массива с наименьшим элементом»

textual
Листинг программы
  1. program z3;{В данном одномерном массиве переставить последний элемент с наименьшим элементом массива}
  2.  
  3. const
  4.   n = 20;
  5.  
  6. var
  7.   i, imin: byte;
  8.   buf: integer;
  9.   a: array [1..20] of integer;
  10.  
  11.  
  12. begin
  13.  
  14.   imin := 1;
  15.   writeln('Дан массив');
  16.   for i := 1 to 20 do
  17.   begin
  18.     a[i] := -50 + random(100);
  19.     write(a[i], ' ');
  20.    
  21.     if a[i] < a[imin] then imin := i;
  22.   end;
  23.   writeln;
  24.   writeln('Мин. элемент ', a[imin], ' под индексом ', imin);
  25.   buf := a[20];
  26.   a[20] := a[imin];
  27.   a[imin] := buf;
  28.   writeln;
  29.   writeln('Новый массив после обмена минимального с последним элементов ');
  30.   for i := 1 to 20 do
  31.   begin
  32.     write(a[i], ' ');
  33.   end;
  34. end.

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

В данном коде объявлены следующие переменные:

  • n - количество элементов в массиве (равное 20 в данном случае);
  • i - переменная для итерации по массиву;
  • imin - переменная для хранения индекса наименьшего элемента массива;
  • buf - временная переменная для хранения значения наименьшего элемента массива;
  • a - массив для хранения чисел. Код начинается с объявления этих переменных. Затем происходит итерация по всем элементам массива с помощью цикла for. Внутри цикла каждый элемент массива присваивается значение -50 + random(100), затем выводится на экран. Если текущий элемент меньше значения наименьшего элемента массива, то наименьшее значение присваивается переменной imin и обновляется значение buf. После завершения итерации выводится на экран значение buf (которое теперь содержит наименьший элемент массива), затем происходит обмен значения buf с последним элементом массива. Наконец, также выводится на экран новый массив после обмена. Таким образом, данный код меняет последний элемент массива на наименьший элемент массива, сохраняя при этом все остальные элементы без изменений.

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


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

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

8   голосов , оценка 4.25 из 5

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

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

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