Перестановка максимального и минимального по значению элементов массива - PascalABC.NET

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

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

Помогите, суть задания "Перестановка максимального и минимального по значению элементов массива" выдает ошибку в строчке №35 : Ошибка времени выполнения: Индекс находился вне границ массива.
Листинг программы
  1. VAR
  2. K,B:array[1..256] of real;
  3. i,n,nmax,nmin:integer;
  4. max,min,x:real;
  5. BEGIN
  6. repeat
  7. writeln('Введите длину массива');
  8. readln(i);
  9. if i<=1 then
  10. writeln('В массиве должно быть как минимум, больше одного элемента');
  11. until i>1;
  12. for n:=1 to i do
  13. begin
  14. writeln('Введите массив');
  15. readln(K[N]);
  16. end;
  17. min:=B[1];
  18. max:=B[1];
  19. for n:=1 to i do
  20. begin
  21. if B[n]>max
  22. then
  23. begin
  24. max:=B[n];
  25. nmax:=n;
  26. end
  27. else if B[n]<min
  28. then
  29. begin
  30. min:=B[n];
  31. nmin:=n;
  32. end;
  33. end;
  34. x:=min;
  35. B[nmax]:=x;
  36. B[nmin]:=max;
  37. writeln;
  38. writeln('Массив B[N] : ');
  39. for n :=1 to i do write(B[n], ' ');
  40. END.

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

textual
Листинг программы
  1. VAR
  2.   B:array[1..256] of real;
  3.   i,n,nmax,nmin:integer;
  4.   max,min,x:real;
  5. BEGIN
  6.   repeat
  7.   writeln('Введите длину массива');
  8.   readln(i);
  9.   if i<=1 then
  10.   writeln('В массиве должно быть как минимум, больше одного элемента');
  11.   until i>1;
  12.   for n:=1 to i do
  13.   begin
  14.     writeln('Введите массив');
  15.     readln(B[N]);
  16.   end;
  17.   min:=B[1];
  18.   max:=B[1];
  19.   nmin:=1;
  20.   nmax:=1;
  21.   for n:=2 to i do
  22.   begin
  23.     if B[n]>max
  24.     then
  25.     begin
  26.       max:=B[n];
  27.       nmax:=n;
  28.     end
  29.     else if B[n]<min
  30.     then
  31.     begin
  32.       min:=B[n];
  33.       nmin:=n;
  34.     end;
  35.   end;
  36.   x:=B[nmax];
  37.   B[nmax]:=B[nmin];
  38.   B[nmin]:=x;
  39.   writeln;
  40.   writeln('Массив B[N] : ');
  41.   for n :=1 to i do write(B[n], ' ');
  42. END.

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


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

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

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

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

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

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