PascalABC.NET 3.2, сборка 1382 от 06.02.2017Внимание! Если программа не работает, обновите версию!1. Заданный контрольный пример:begin var a:=Arr(4,-5,3,10,-4,-6,8,-10,1,0); a.Println; var im1,im2:integer; if a[im1]<a[im2] then Swap(im1,im2); for var i:=2 to a.High do if a[i]>a[im1] then begin im2:=im1; im1:=i end else if a[i]>a[im2] then im2:=i; WritelnFormat('a[{0}]={1}, a[{2}]={3}',im1+1,a[im1],im2+1,a[im2])end.
Результат4 -5 3 10 -4 -6 8 -10 1 0a[4]=10, a[7]=8
2. Решение заданияbegin var a:=ArrRandom(10,-10,10); a.Println; var im1,im2:integer; if a[im1]<a[im2] then Swap(im1,im2); for var i:=2 to a.High do if a[i]>a[im1] then begin im2:=im1; im1:=i end else if a[i]>a[im2] then im2:=i; WritelnFormat('a[{0}]={1}, a[{2}]={3}',im1+1,a[im1],im2+1,a[im2])end.
Пример-1 10 -6 3 -4 -3 -4 7 0 -7a[8]=7, a[4]=3