В массиве на 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.
Не нашли ответ?
Похожие вопросы