В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
lina160107
lina160107
11.01.2023 17:45 •  Информатика

C++ 1) Заполнить массив случайными числами и найти два максимальных элемента массива и их номера.
2) Введите массив с клавиатуры и найдите (за один проход) количество элементов, имеющих максимальное значение.

Ответ:
oleksandrskorbat
oleksandrskorbat
25.03.2021 22:00

1)

#include <iostream>

#include <vector>

using namespace std;

int main(){

   srand(time(NULL));

   int n;

   cin >> n;

   vector<int> a(n);

   for(auto &i : a)

       i = rand() % 1001 - 500;

   pair<int,int> k1,k2;

   k1 = k2 = {-1e9,-1};

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

       if(a[i] > k1.first){

           k2 = k1;

           k1 = {a[i],i+1};

       }

       else if(a[i] > k2.first)

           k2 = {a[i],i+1};

   }

   cout << k1.second << " " << k2.second;

}

2)

#include <iostream>

#include <vector>

using namespace std;

int main(){

   int n;

   cin >> n;

   vector<int> a(n);

   for(auto &i : a)

       cin >> i;

   int cnt = 1, mx = a[0];

   for(int i = 1; i < n; i++){

       if(a[i] == mx)

           cnt++;

       else if(a[i] > mx){

           cnt = 1;

           mx = a[i];

       }

   }

   cout << cnt;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?