• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

Задача В Дельфи

  • Автор темы koos
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

koos

В одномерном массиве А, состоящий из 15 целых чисел, вычислить сумму элементов, расположенных между минимальным и максимальным элемен-тами (включая эти элементы).
 
O

OldSkorpin

насколько понимаю - числа в массив случайные (рандомом) заносятся?
 
K

kyvour

сначала генерирем массив из 15 элементов (т.к. в задачи не указано каким образом, предположим что рандомом от -n до n. n можна заменить, например, на 100)

Код:
randomize;
for i:=1 to 15 do
A[i]:=random(n+1)-n;

Далее определяем порядковые номера минимального и максимального элементов

Код:
imin:=1;
imax:=1;
for i:=2 to 15 do
begin
if A[i]<A[imin] then imin:=i;
if A[i]>A[imax] then imax:=i;
end;

Теперь нужно, собственно посчитать сумму, но тут уже есть некоторые условия:
1) imin<imax - минимальный элемент стоит раньше максимального
2) imax<imin - максимальный элемент стоит раньше минимального
3) imin=imax - номера минимального и максимального элементов совпадают. Это может быть лишь в том случае, если весь массив состоит из однаковых элементов. Вероятность такого исхода практически нулевая, но все же...
Ниже все собственно в коде:

Код:
Sum:=0;
if imin=imax then writeln('Массив состоит из одинаковых элементов')
else if imin<imax then
for i:=imin to imax do
Sum:=Sum+A[i]
else
for i:=imax to imin do
Sum:=Sum+A[i];

Собственно эта программа ищет сумму между первым минимальным и первым максимальным элементом массива если таких элементов несколько
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!