При выполнении разных операций с массивами, получается так, что первый элемент является нулевым - Turbo Pascal

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

Доброго времени суток. Можете помочь? Проблема в том, что иногда, при выполнении разных операций с массивами, получается так, что первый элемент является нулевым. К примеру в программах по поиску индекса максимального/минимального. Подскажите как это исправить? Еще было бы хорошо, если бы мне помогли с программой, в которой нужно поменять местами максимальный с минимальным, соответственно используя их индексы.
const n=10;
var a:array[1..n] of integer;
i,max,min,nummax,nummin:integer;
begin
randomize;
writeln('Array:');
for i:=1 to n do begin
                 a[i]:=random(20)-5;
                 write(a[i]:4);
                 end;
max:=1; min:=1;                 
for i:=1 to n do
if a[i]>max then begin
                 max:=a[i];
                 nummax:=i;
                 end;
for i:=1 to n do
if a[i]<min then begin
                 min:=a[i];
                 nummin:=i;
                 end;
{Поменять местиами максимальный элемент с минимальным}
writeln;
writeln('Max switched with min');
for i:=1 to n do
write(a[i]:4);
end.


textual

Код к задаче: «При выполнении разных операций с массивами, получается так, что первый элемент является нулевым - Turbo Pascal»

uses crt;
const n=10;
var a:array[1..n] of integer;
    i,max,min,x:integer;
begin
clrscr;
randomize;
writeln('Array:');
for i:=1 to n do
 begin
  a[i]:=random(20)-5;
  write(a[i]:4);
 end;
writeln;
max:=1; min:=1;
for i:=1 to n do
if a[i]>a[max] then max:=i
else if a[i]<a[min] then min:=i;
writeln('Max element a[',max,']=',a[max],' min element a[',min,']=',a[min]);
x:=a[max];
a[max]:=a[min];
a[min]:=x;
writeln('Max switched with min');
for i:=1 to n do
write(a[i]:4);
readln
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

6   голосов, оценка 4.500 из 5

Источник