Перестановка максимального и минимального по значению элементов массива - PascalABC.NET
Формулировка задачи:
Помогите, суть задания "Перестановка максимального и минимального по значению элементов массива"
выдает ошибку в строчке №35 : Ошибка времени выполнения: Индекс находился вне границ массива.
Листинг программы
- VAR
- K,B:array[1..256] of real;
- i,n,nmax,nmin:integer;
- max,min,x:real;
- BEGIN
- repeat
- writeln('Введите длину массива');
- readln(i);
- if i<=1 then
- writeln('В массиве должно быть как минимум, больше одного элемента');
- until i>1;
- for n:=1 to i do
- begin
- writeln('Введите массив');
- readln(K[N]);
- end;
- min:=B[1];
- max:=B[1];
- for n:=1 to i do
- begin
- if B[n]>max
- then
- begin
- max:=B[n];
- nmax:=n;
- end
- else if B[n]<min
- then
- begin
- min:=B[n];
- nmin:=n;
- end;
- end;
- x:=min;
- B[nmax]:=x;
- B[nmin]:=max;
- writeln;
- writeln('Массив B[N] : ');
- for n :=1 to i do write(B[n], ' ');
- END.
Решение задачи: «Перестановка максимального и минимального по значению элементов массива»
textual
Листинг программы
- VAR
- B:array[1..256] of real;
- i,n,nmax,nmin:integer;
- max,min,x:real;
- BEGIN
- repeat
- writeln('Введите длину массива');
- readln(i);
- if i<=1 then
- writeln('В массиве должно быть как минимум, больше одного элемента');
- until i>1;
- for n:=1 to i do
- begin
- writeln('Введите массив');
- readln(B[N]);
- end;
- min:=B[1];
- max:=B[1];
- nmin:=1;
- nmax:=1;
- for n:=2 to i do
- begin
- if B[n]>max
- then
- begin
- max:=B[n];
- nmax:=n;
- end
- else if B[n]<min
- then
- begin
- min:=B[n];
- nmin:=n;
- end;
- end;
- x:=B[nmax];
- B[nmax]:=B[nmin];
- B[nmin]:=x;
- writeln;
- writeln('Массив B[N] : ');
- for n :=1 to i do write(B[n], ' ');
- END.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д