shtankosoyuz1629
?>

Путем преобразования докажите равносильность следующих высказываний:

Информатика

Ответы

Тинчурина1528
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
Vikkitrip

#include <iostream>

#include <cmath>

#include <algorithm>

#pragma GCC optimize("Ofast")

#define ll long long

#define ld long double

using namespace std;

ll digits(ll a){

   ll c = 0;

   while(a > 0){

       a /= 10;

       c++;

   }

   return c;

}

signed main() {

   srand(time(NULL));

   const ll n = 25;

   ll sum = 0;

   ll mas[n];

   for(ll i = 0; i < n; i++){

       mas[i] = rand() % 493 - 246;

       cout << mas[i] << " ";

       if(digits(mas[i]) == 2 && mas[i] % 4 == 0)

           sum += mas[i];

   }

   cout << "\n" << sum;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Путем преобразования докажите равносильность следующих высказываний:
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

aleksagrbec39
kirill76536
maxchuev
profitgroup51
hristos1212
Дружинин
mmihail146
heodbxbbshe
MikhailSvetlana
lakeeva90
Сергеевна-Пузанов
axo-geo
Azarenkoff
demon8608
zubareva23338