Вопрос задан 23.10.2023 в 15:39. Предмет Информатика. Спрашивает Иванов Даниил.

На с++ пожалуйста, и как-нибудь попроще и без вектора Подсчитайте за один проход массива, сколько

его элементов равны максимальному элементу. Входные данные На вход программе сначала подается значение n100 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30 000. Выходные данные Выдайте количество искомых элементов массива. Примеры входные данные 8 4 3 5 2 5 1 3 5 выходные данные 3
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Жумахан Аружан.

int n100[5] = {1,2,3,4,5};

int i = 0, j = 0, x = 0;

for(i = 0; i < 5; i++){

if(n100[5]>x){

x=n100[i]; }

else{

if(n100[i]=x){

j++; }

}

cout << j;

Не запускал. Мысль проста, один цикл, за обход ищем максимальное иначе равное максимальному.

0 0
Отвечает Григорьева Дарья.

Насколько я понял n должна быть меньше или равна 100, верно? Тогда вот, он, может и не самый эффективный, но довольно понятный и работающий.

#include <iostream>

using namespace std;

int main(){

int n,maks,schetchik; /* n - это количество элементов массива, maks - думаю, знаешь, schetchik - высчитывает количество повторений максимального числа в массиве */

cin >>n;

if(n<=100){

int a[n]; /*обьявляем количество эелементов массива и проверяем, чтобы его количество было меньше или равно 100*/

for(int i=0;i<n;i++){ /*цикл for обьявляет переменную i, далее делая её текущим индексом элемента массива */

cin >> a[i];

if (a[i]>-30000 && a[i]<30000){ /* проверка условия, данного задачей
*/

if(i==0){maks=a[i]; schetchik =1;}; /* особая разработка автора, максимальным элементом массива становиться самый первый элемент (ну по крайней мере, я ни у кого не видел) */

if (i!=0 && maks == a[i]) {schetchik +=1;}; /* и ещё одна моя собственная разработка, проверка, не является ли элемент массива первым, а так же если он равен максимальному, то счетчик увел. на 1 */

if (maks<a[i]) {maks = a[i]; schetchik = 1; }; /* а тут мы проверяем на то, не являеться ли текущий массив большим чем максимальный, если да, то счет сбрасывается и макс. равняется текущему числу */

}

}

cout << schetchik; } //ну и вывод числа, всё довольно просто

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот простая программа на C++, которая решает вашу задачу без использования вектора:

cpp
#include <iostream> int main() { int n; std::cin >> n; int maxElement = -30000; // Начальное значение для максимального элемента int countMax = 0; // Счетчик максимальных элементов for (int i = 0; i < n; ++i) { int num; std::cin >> num; if (num > maxElement) { maxElement = num; countMax = 1; // Найден новый максимальный элемент } else if (num == maxElement) { countMax++; // Найдено еще одно вхождение максимального элемента } } std::cout << countMax << std::endl; return 0; }

Эта программа считывает количество элементов n, затем считывает сами элементы массива и подсчитывает количество элементов, равных максимальному элементу.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос