Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wolf0022
2 / 2 / 0
Регистрация: 17.12.2013
Сообщений: 148
#1

Определить сколько чисел принимают максимальное значение - C++

05.09.2014, 19:09. Просмотров 408. Ответов 15
Метки нет (Все метки)

Задача 1. Дано 20 действительных чисел. Определить сколько из них принимают максимальное значение.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2014, 19:09     Определить сколько чисел принимают максимальное значение
Посмотрите здесь:

Задана последовательность чисел длиной n. Определить минимальное и максимальное значение этой последовательности ... C++
C++ Определить максимальное значение напряжения в сети
C++ Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число.
Определить в матрице минимальное и максимальное значение и их позиции C++
Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. C++
Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число C++
Массив: определить, сколько раз повторяется максимальное число в последоновательности C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6179 / 5782 / 1872
Регистрация: 18.12.2011
Сообщений: 14,771
Завершенные тесты: 1
05.09.2014, 19:19     Определить сколько чисел принимают максимальное значение #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Алгоритм:
1. Циклом проходите по массиву и находите максимум.
2. Повторным циклом сравниваете с максимумом и считаете количество совпадений.
Bahyt
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 13
04.10.2016, 10:03     Определить сколько чисел принимают максимальное значение #3
Ну хоть половину кода написал. А то простенькая задача же
SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 2
04.10.2016, 10:07     Определить сколько чисел принимают максимальное значение #4
Цитата Сообщение от Bahyt Посмотреть сообщение
А то простенькая задача же
Угу. Очень прошу. Дайте хотябы подсказку. как реш. эту задачу в С++. В консольном режиме. Я шарю только делфи
Bahyt
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 13
08.10.2016, 14:56     Определить сколько чисел принимают максимальное значение #5
????
SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 2
08.10.2016, 15:21     Определить сколько чисел принимают максимальное значение #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
unsigned getMaxesAmount(double *A, const unsigned n) {
    double max = *A;
    for (unsigned i = 1; i < n; i++)
        max = A[i]>max?A[i]:max;
    unsigned result = 0;
    for (unsigned i = 0; i < n; i++)
        result += A[i]==max;
    return result;
}
 
int main() {
    double A[]={1,2,3,2,3,1,0,2,3,1,2,3,2,3,1,0,2,3,1,2};
    std::cout << getMaxesAmount(A,20);
}
Croessmah
Модератор
Эксперт CЭксперт С++
12690 / 7164 / 799
Регистрация: 27.09.2012
Сообщений: 17,658
Записей в блоге: 2
Завершенные тесты: 1
08.10.2016, 16:46     Определить сколько чисел принимают максимальное значение #7
Цитата Сообщение от Bahyt Посмотреть сообщение
Ну хоть половину кода написал. А то простенькая задача же
Цитата Сообщение от Bahyt Посмотреть сообщение
????
почему тогда четыре дня назад Вы сами эту задачу не сделали?
Массив: Определить, сколько чисел в последовательности принимают максимальное значение?

SpBerkut, zss, тот же вопрос и Вам:
Цитата Сообщение от Croessmah Посмотреть сообщение
а зачем два цикла?
GbaLog-
Не Эксперт C++
2297 / 922 / 241
Регистрация: 24.08.2014
Сообщений: 3,456
Записей в блоге: 1
Завершенные тесты: 2
08.10.2016, 17:00     Определить сколько чисел принимают максимальное значение #8
Цитата Сообщение от Croessmah Посмотреть сообщение
а зачем два цикла?
Так предлагаете?

Кликните здесь для просмотра всего текста
Предупреждаю ТСа, это только в развлекательных целях.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/////////////////////////////////////////////////////////////////////
// Задача 1. Дано 20 действительных чисел. 
// Определить сколько из них принимают максимальное значение.
/////////////////////////////////////////////////////////////////////
#include <iostream>
/////////////////////////////////////////////////////////////////////
int main()
{
    double arr[10]
    { 10.d, 12.d, 1.d, 3.d, 15.d, 2.d, 15.d, 15.d, 5.d, 13.d };
    
    bool rev = false;
    int max{};
    int max_count{};
    
    for( int i{1}; (rev ? i > 0 : i < 10); (rev ? --i : ++i) )
    {
        if( i == 9 )
        {
            rev = true;
        }
        
        if( arr[max] < arr[i] )
        {
            max = i; 
        }
        
        if( rev && arr[max] == arr[i] )
        {
            ++max_count;
        }
    }
    std::cout << max_count << std::endl;
}
Croessmah
Модератор
Эксперт CЭксперт С++
12690 / 7164 / 799
Регистрация: 27.09.2012
Сообщений: 17,658
Записей в блоге: 2
Завершенные тесты: 1
08.10.2016, 17:14     Определить сколько чисел принимают максимальное значение #9
Цитата Сообщение от GbaLog- Посмотреть сообщение
Так предлагаете?
Как-то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
unsigned getMaxesAmount(double *A, const unsigned n) {
    double max = *A;
    unsigned result = 1;
    for (unsigned i = 1; i < n; i++) {
        if (lessDouble(max, A[i])) {//lessDouble? WTF? o_O :)
           max = A[i];
           result = 1;
        } else {
           result += equalDouble(max, A[i]);//equalDouble? WTF? o_O :)   
        }     
    }        
    return result;
}
Dsasdf
Заблокирован
08.10.2016, 20:19     Определить сколько чисел принимают максимальное значение #10
C++
1
2
3
4
5
6
7
8
9
10
11
double A[] = {1, 2, 3, 2, 3, 1, 0, 2, 3, 1, 2, 3, 2, 3, 1, 0, 2, 3, 1, 2};
 
    int count = 0;
    for (int i = 0, max = 0; i < 20; i++)
        if (A[i] > max) {
            max = A[i];
            count = 1;
        } else
            if (A[i] == max)count++;
    
cout << count;
SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 2
09.10.2016, 09:10     Определить сколько чисел принимают максимальное значение #11
Ну, у меня получилась калька с кода Croessmah. А ведь я честно не подглядывал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
unsigned getMaxesAmount(double *A, const unsigned n) {
    double max = *A;
    unsigned result = 1;
    for (unsigned i = 1; i < n; i++) {
        if (A[i]>max) {
            result = 1;
            max=A[i];
        } else {
            result += A[i]==max; // Вот этот момент, однако, спорный.
            //Официальная наука не приветствует проверку вещественных чисел на строгое равенство.
        }
    }
    return result;
}
Dsasdf, Ваш код не будет работать, если массив будет целиком состоять из отрицательных значений.
Dsasdf
Заблокирован
09.10.2016, 09:20     Определить сколько чисел принимают максимальное значение #12
Цитата Сообщение от SpBerkut Посмотреть сообщение
Dsasdf, Ваш код не будет работать, если массив будет целиком состоять из отрицательных значений.
Вообще-то не хорошо сдирать мой вариант решения - подмазывать и выкладывать его своим. Удачи.
C++
1
2
3
4
5
6
7
8
9
10
11
 double A[] = {-3, -2, -1, -1, -3, -1};
 
    int count = 1;
    for (int i = 1, max = A[0]; i < 6; i++)
        if (A[i] > max) {
            max = A[i];
            count = 1;
        } else
            if (A[i] == max)count++;
 
    cout << count;
Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от SpBerkut Посмотреть сообщение
Вот этот момент, однако, спорный.
* * * * * * //Официальная наука не приветствует проверку вещественных чисел на строгое равенство.
Полный бред.

SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 2
09.10.2016, 09:52     Определить сколько чисел принимают максимальное значение #13
Цитата Сообщение от Dsasdf Посмотреть сообщение
Вообще-то не хорошо сдирать мой вариант решения - подмазывать и выкладывать его своим.
У Вас мания величия. Croessmah и подход вычисления через 1 цикл обозначил, и код раньше выложил. И уж чья бы корова тогда мычала.
Цитата Сообщение от Dsasdf Посмотреть сообщение
Полный бред.
А давайте дуэль?!
C++
1
2
3
4
5
6
7
8
9
#include <iostream> 
int main() {
    float a = 0.2;                      // объявили переменную-секунданта и присвоили ей значение 0.2
    if (a == 0.2) {                     // проверяем секунданта на строгое равенство с тем же 0.2
        std::cout << "SpBerkut дурак."; // если равно, то я, так уж и быть, дурак
    } else {                            // а иначе
        std::cout << "Dsasdf дурак.";   // уж извините, Вы
    }
}
Цитата Сообщение от Dsasdf Посмотреть сообщение
Удачи.
Вам тоже не хворать.
Croessmah
Модератор
Эксперт CЭксперт С++
12690 / 7164 / 799
Регистрация: 27.09.2012
Сообщений: 17,658
Записей в блоге: 2
Завершенные тесты: 1
09.10.2016, 09:58     Определить сколько чисел принимают максимальное значение #14
Цитата Сообщение от Dsasdf Посмотреть сообщение
C++
1
int i = 1, max = A[0]
Тоже не будет работать.
Массив то из double'ов, а max будет int'ом.
Цитата Сообщение от SpBerkut Посмотреть сообщение
У Вас мания величия.
Не обращайте внимания. Ваши коды не имеют ничего общего.
Эт Вы у меня код украли. Шутка, конечно.
SpBerkut
09.10.2016, 10:06
  #15

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Эт Вы у меня код украли.
Я ж говорю — калька получилась.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2016, 10:14     Определить сколько чисел принимают максимальное значение
Еще ссылки по теме:

Дана последовательность чисел. Сколько раз в ней встречается максимальное число? C++
Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y C++
Определить, сколько среди чисел четных и сколько нечетных C++
C++ Определить максимальное значение суммы первых n-элементов
C++ Массив: Определить, сколько чисел в последовательности принимают максимальное значение?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dsasdf
Заблокирован
09.10.2016, 10:14     Определить сколько чисел принимают максимальное значение #16
Цитата Сообщение от SpBerkut Посмотреть сообщение
У Вас мания величия. Croessmah и подход вычисления через 1 цикл обозначил, и код раньше выложил. И уж чья бы корова тогда мычала.
У него другой код, например
lessDouble, equalDouble
- я не знаю, что это за бред. Я не жадный, украл мой вариант решения - мне все равно.

Не по теме:

Повторяю второй раз:

Цитата Сообщение от Dsasdf Посмотреть сообщение
Вот этот момент, однако, спорный.
* * * * * * //Официальная наука не приветствует проверку вещественных чисел на строгое равенство.
Это БРЕД. Этот код, связан с банальным незнанием формата хранения вещественных чисел в памяти компьютера, лишь подтверждает твою тупость.


C++
1
2
3
4
5
6
float a = 0.2; // объявили переменную-судью и присвоили ей значение 0.2
    if (a == 0.2f) { // проверяем на строгое равенство с тем же 0.2
        std::cout << "SpBerkut дурак."; // если равно, то я, так уж и быть, дурак
    } else { // а иначе
        std::cout << "Dsasdf дурак."; // уж извините, Вы
    }
Удачи. Отстань от меня.

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
Тоже не будет работать.
Массив то из double'ов, а max будет int'ом.
Заменишь на double.
Yandex
Объявления
09.10.2016, 10:14     Определить сколько чисел принимают максимальное значение
Ответ Создать тему
Опции темы

Текущее время: 05:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru