Задайте массив из 10 элементов с помощью датчика случайных чисел. выведите на экран исходный массив и и номера тех элементов,которые расположены между наибольшим и наименьшим элементами

1
program lentai;
var a:array[1..10] of integer;
max,min,i:integer;
begin
cls;
write('Массив:');
for i:=1 to 10 do
begin
a[i]:=random(50);//числа от 0 до 49
write(' ',a[i]) //вывели изначальный массив
end;
writeln();
min:=1;//нечто большое
max:=1;//нечто маленькое
for i:=1 to 10 do
begin
if a[i]<a[min] then min:=i;
if a[i]>a[max] then max:=i;
end;
writeln('Номер наименьшего элемента массива: ',min);
writeln('Номер наибольшего элемента массива: ',max);
if min-max>2 then
begin
write('Числа между ними:');
for i:=max+1 to min-1 do write(' ',a[i]);
end
else
if max-min>2 then
begin
write('Числа между ними:');
for i:=min+1 to max-1 do write(' ',a[i]);
end
else write('Чисел между ними нет:');
end.
вот так в общем, окно ответа лагает(
блин)) спаСибо огромное)

Ответы и объяснения

2013-12-11T22:45:35+04:00
Уже отвечал, но все же такое решение актуальнее: 

var 
ar:array[1..10] of integer;
max,min,i,kmax,kmin:integer;
begin
randomize;

max:=0;
min:=1000;

for i:=1 to 10 do begin  
ar[i]:=random(1000)+1;  
if (ar[i] > max) then 
  begin max:=ar[i]; kmax:=i; end 
    else if (ar[i] < min) then begin min:=ar[i]; kmin:=i; 
end;  
write(ar[i],' ');
end;

writeln();

if (kmax > kmin) then for i:=kmin+1 to kmax-1 do write(i,' ') 
  else if (kmax < kmin) then for i:=kmax+1 to kmin-1 do write(i,' ');
end.

P.S. В решении выше есть далеко ни одна ошибка ;)