martabunova
?>

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

Информатика

Ответы

Urmanov19903131

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;

}

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

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

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

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

msk27
puma802
VadimovichSvetlana622
amramzi
yelenaSmiryagin
stendpost
cutur3414
natalili32
mixtabak2
Moroshkina-Aristova2011
vasilevich-F
purbuevat56524
Fomin Korablev1781
Mariya-Karaseva
qwe54344