Подскажите где ошибка и как ее исправить 
 условие: Поменять местами минимальный и максимальный элементы массива размера 10.. 
 Program Mas; 
 Var 
 M:Array[1..10] of real; 
 Max, Min, MN:real; 
 I:integer; 
 begin 
 for I:=1 to 10 Do real (M[I]); 
 Max:=M[1]; K:=1; 
 Min:=M[1]; N:=1; 
 for I:=2 To 10 Do; 
 Begin 
 If M[1]>Max then 
 begin 
 Max:=M[1]; 
 K:=1; 
 end; 
 if M[I]<min then 
 begin 
 Min:=M[I]; 
 N:=I; 
 end; 
 end; 
 MN:=M[K]; 
 M[K]:=M[N]; 
 M[N]:=MN; 
 For I:=1 to 10 do writeln(M[I]); 
 end.Добавлено (20.12.11, 21:30)
---------------------------------------------
Так правильно? У меня работает) 
 Uses Crt; 
 var i,j,n,m,S:integer; 
 min,max:real; A:array [1..10] of word; 
 BEGIN 
 CLRSCR; 
 max:=0; for i:=1 to 10 do 
 begin 
 write('A[',i,']='); 
 readln(A[i]); if A[i]>max then 
 begin 
 max:=A[i]; n:=i;{надо запомнить наш максимальный элемент} 
 end; 
 end; 
 min:=max+1; 
 for i:=1 to 10 do begin if A[i]<min then 
 begin 
 min:=A[i]; m:=i;{запоминаем наш минимальный} 
 end; 
 end; 
 if m-1>=n+1 then 
 begin 
 for i:=n+1 to m-1 do A[i]:=0; 
 end 
 else 
 begin 
 for i:=m+1 to n-1 do A[i]:=0; 
 end; 
 for i:=1 to 10 do write(A[i],' '); 
 Writeln; Writeln('min = ',max); 
 Writeln('max = ',min); 
 Writeln; 
 Readln; 
 END.