в массиве на 100 элементов (от -1000 до 1000) найти индексы

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

Задать свой вопрос
2 ответа
// 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 imingt;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 imingt; a[i] then
imin:=a[i];
k2:=i;
Writeln('Индекс минимального ',imin+1,', максимального ',imax+1);
if imingt;imax then Swap(imin,imax);
Writeln('Сумма на участке: ',a[imin:imax+1].Sum)
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт