Переставить элементы массива в порядке убывания и найти сумму элементов массива находящихся между наибольшим и наименьшим элементом массива не включая их самих pascal
118
428
Ответы на вопрос:
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 -5 10 9 9 7 4 1 1 -5 -5 -7 -8 -9 -10 -10 -10 -3
У, сначала нужно найти макс и мин элементы. 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
прежде чем использовать переменные, их следует описать, то есть указать их типы. для этого в vba используется оператор описания переменных dim, который описывает переменные и выделяет для них память, причем описывать нужно каждую переменную отдельно. напомним, что оператор описания переменных выглядит следующим образом:
dim имя переменной as тип
Популярно: Информатика
-
pumpus05.01.2020 19:34
-
Анастасия1111112756426.07.2020 00:36
-
Sofia071508.11.2022 03:41
-
Alinka765806.10.2022 18:29
-
dashatieriesanp06obv24.12.2020 23:22
-
kallor1220.09.2022 18:26
-
animator35126.07.2021 21:42
-
Fivesecond14.01.2021 03:50
-
папаочка22813.05.2021 15:54
-
Taekimyeon12.08.2022 03:34