В массиве на 100 элементов (от -1000 до 1000) найти индексы самого большого и самого маленького элемента, а затем сумму чисел находящихся между ними. (Паскаль) 

В массиве на 100 элементов (от -1000 до 1000) найти индексы самого большого и самого маленького элемента, а затем сумму чисел находящихся между ними. (Паскаль) 
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.2, сборка 1399 от 08.03.2017 // Внимание! Если программа не работает, обновите версию! begin   var a:=ArrRandom(100,-1000,1000); a.Println;   var imax:=a.IndexMax;   var imin:=a.IndexMin;   Writeln('Индекс минимального ',imin+1,', максимального ',imax+1);   if imin>imax then Swap(imin,imax);   Writeln('Сумма на участке: ',a[imin:imax+1].Sum) end. Пример -65 273 -273 58 108 919 -114 -119 -848 -24 301 -497 348 -386 -235 421 -907 -891 -151 675 -185 89 -991 -276 -802 914 959 -64 848 911 573 -941 59 -522 -460 890 963 840 85 -932 -974 -110 -698 785 537 867 778 -889 239 -659 -972 655 665 -136 555 847 263 -998 -141 194 961 950 34 -758 403 242 444 -130 -927 -124 459 -747 25 -220 649 925 -214 -775 188 -668 -865 847 698 506 882 919 -606 -806 -76 -306 -374 960 -19 891 -892 -923 857 -940 -619 -706 Индекс минимального 58, максимального 37 Сумма на участке: 1711
Гость
begin var a:=ArrRandom(100); a.Println; if imax imax:=a[i]; k1:=i; if imin> a[i] then imin:=a[i]; k2:=i; Writeln('Индекс минимального ',imin+1,', максимального ',imax+1); if imin>imax then Swap(imin,imax); Writeln('Сумма на участке: ',a[imin:imax+1].Sum) end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы