profile
Размещено 5 лет назад по предмету Информатика от Drakino

Написать программу на языке Паскаль.С пошаговым объяснением действий.
Условие:
Дан массив из 15 элементов определить сколько элементов массива располагается между его максимальным и минимальным элементом.

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    Const
       N = 15;
    Var
       A:array[1..N] of integer;
       i,
       Max, Min:integer; // Тут будут храниться НОМЕРА Min и Max
    Begin
    Randomize;
    {Заполнение и вывод массива}
    Write('Исходный массив:');
    For i:= 1 to N do
        Begin
        A[i]:=random(21)-10;
        Write(' ',A[i])
        End;
    WriteLn;
    {Поиск максимума и минимума}
    Max:=1;
    Min:=1;
    // Проверять начинаем со второго элемента,
    // потому, что в первую очередь будем сравнивать с первым
    // (т.к. Max = 1 и Min = 1)
    For i:= 2 to N do
        Begin
        if A[i]>A[Max] then Max:=i;
        if A[i]<A[Min] then Min:=i;
        // Поскольку тут стоят знаки строго больше и строго меньше,
        // будут найдены только первый встретившийся максимум
        // и первый встретившийся минимум.
        // Если бы стояли знаки больше или равно(>=) и меньше или равно(<=),
        // то найдены были бы последние встретившиеся Max и Min
        // То есть, например, в первом случае в массиве:
        // 1 2 3 4 5 2 5 1
        // были бы найдены: Min = 1, Max = 5
        // во втором случае в том же массиве были бы найдены:
        // Min = 8, Max = 7
        End;
    // Сколько элементов между пятым и первым ? - три.
    // Между восьмым и седьмым ? - ноль
    // Общая формула:
    // Искомое кол-во элементов = |НомерМаксимума-НомерМинимума|-1
    // Значение берём по модулю потому,
    // что как минимальный элемент может стоять после максимального,
    // так и максимальный после минимального
    // То есть без модуля было бы так: 5-1-1 = 3, 7-8-1 = -2
    // А с модулем так: |5-1|-1 = 3, |7-8|-1 = 0
    // Формула может выдать -1 в том случае, когда минимум равен максимум,
    // то есть когда все элементы массива равны.
    // На этот случай можно вывести соответствующее сообщение, или просто вывести ноль.
    WriteLn('Max = A[',Max,'] = ',A[Max]);
    WriteLn('Min = A[',Min,'] = ',A[Min]);
    i:=Abs(Max-Min)-1;
    // перепишем сюда получившееся значение,
    // чтобы потом ещё раз его не высчитывать
    if i = -1 then WriteLn('Все элементы массива равны.')
    else WriteLn('Кол-во элементов между Max и Min = ',i);
    End.

    Пример:
    Исходный массив: 5 -2 -5 5 6 -7 7 -6 6 3 -4 6 -8 7 1
    Max = A[7] = 7
    Min = A[13] = -8
    Кол-во элементов между Max и Min = 5
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.