• переставить элементы массива в порядке убывания и найти сумму элементов массива находящихся между наибольшим и наименьшим элементом массива не включая их самих pascal

Ответы 4

  • В общем, это какая-то ерунда. Сказано, что сначала элементы надо отсортировать, а потом с ними что-то делать.
    • Автор:

      colombo
    • 5 лет назад
    • 0
  • И не забудьте учесть, что максимальный и/или минимальный элемент может быть не единственным.
  • у, сначала нужно найти макс и мин элементы. Max = A(1) nMax = 1 Min = A(1) nMin = 1 For i = 2 to N if A(i) > Max Then Max = A(i) nMax = i End If if A(i) < Min Then Min = A(i) nMin = i End If Next i Таким образом мы узнали макс и мин элементы, а главное, их номера nMax и nMin. Проверим, какой номер больше, и сделаем так, чтобы было nMin < nMax. Если nMin > nMax, поменяем их местами If nMin > nMax Then Q = nMin nMin = nMax nMax = Q End If Теперь нужно отсортировать элементы между ними пузырьковой сортировкой по убыванию For i = nMin + 1 To nMax - 1 Здесь вставляется алгоритм пузырьковой сортировки, который я не помню. Поищи в Интернете. Next i
    • Автор:

      tikibjsn
    • 5 лет назад
    • 0
  • PascalABC.NET 3.4.2, сборка 1880 от 18.11.2018Внимание! Если программа не работает, обновите версию!

    begin

     var a := ArrRandom(ReadInteger('n='), -10, 10);

     a.Println;

     a := a.OrderDescending.ToArray;

     a.Println;

     var (max, min) := (a.Max, a.Min);

     var i1 := a.IndexesOf(t -> t = max).Last;

     var i2 := a.IndexOf(min);

     a?[i1 + 1:i2].Sum.Println

    end.

    Примерn= 15-10 9 9 -10 -5 -7 -9 1 -8 -10 1 7 10 4 -510 9 9 7 4 1 1 -5 -5 -7 -8 -9 -10 -10 -10-3
    • Автор:

      zain
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years