Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
#1

Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число - C++

01.05.2012, 21:31. Просмотров 756. Ответов 3
Метки нет (Все метки)

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <stddef.h>
 
// ------------
size_t index_of_max(int* a, size_t n)
{
    int max_idx = 0;
 
    for(size_t i = 1; i < n; ++i)
        if(a[i] > a[max_idx]) max_idx = i;
 
    return max_idx;
}
 
// ------------
size_t count_val(int* a, size_t n, int val)
{
    size_t c = 0;
 
    for(size_t i = 0; i < n; ++i)
        if(a[i] == val) ++c;
 
    return c;
}
 
// ------------
int main()
{
    const size_t n = 10;
    int a[n];
 
    srand(time(NULL));
    for(size_t i = 0; i < n; ++i)
    {
        a[i] = rand() % 20;
        
    }
 
    cout << "\n";
 
    size_t max_idx = index_of_max(a, n);
    size_t max_cnt = count_val(a + max_idx, n - max_idx, a
 
[max_idx]);
 
    cout << max_cnt << "\n";
 
    return 0;
}
пишет неправильный результат когда не один максимум
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2012, 21:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число (C++):

Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. - C++
помогите решить задачу для зачета,а то я совсем ничего не понимаю(((( Дана последовательность чисел. Выяснить , сколько раз в ней...

Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число. - C++
Дана последовательность чисел. Выяснить , сколько раз в ней встречается максимальное число.

Дана последовательность чисел. Сколько раз в ней встречается максимальное число? - C++
Given a sequence of numbers. Find out how many times the maximum element of the sequence meets in the sequence. Input data. First...

Выяснить, сколько раз в последовательности встречается максимальное число. Не используя массивы. - C++
Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число ПОЖАЛУЙСТА,без использования разных массивов,на...

Дана последовательность целых чисел a1, a2, ..., an. Выяснить, какое число встречается раньше - положительное или отрицательное. - C++
Дана последовательность целых чисел a1, a2, ..., an. Выяснить, какое число встречается раньше - положительное или отрицательное. Не...

Сколько раз встречается максимальное число - C++
Дано натуральное число. Определить, сколько раз в нем встречается максимальная цифра(Например 12545 - 5 встречается 2 раза). Решение...

3
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
01.05.2012, 22:01 #2
Передавай по ссылке кол-во максимумов:
C++
1
size_t count_val(int* a, size_t n, int val, size_t& c)
В main:
C++
1
size_t c = 0;
0
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
01.05.2012, 22:14 #3
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <stddef.h>
 
// ------------
size_t index_of_max(int* a, size_t n)
{
    int max_idx = 0;
 
    for(size_t i = 1; i < n; ++i)
        if(a[i] > a[max_idx])
            max_idx = i;
 
    return max_idx;
}
 
// ------------
size_t count_val(int* a, size_t n, int val)
{
    size_t c = 0;
 
    for(size_t i = 0; i < n; ++i)
        if(a[i] == val)
            ++c;
 
    return c;
}
 
// ------------
int main(void)
{
    const size_t n = 10;
    int a[n];
 
    srand(unsigned(time(NULL)));
    for(size_t i = 0; i < n; ++i)
    {
        a[i] = rand() % 20;  
        std::cout << a[i] << ' ';
    }
 
    std::cout << "\n";
 
    size_t max_idx = index_of_max(a, n);
    size_t max_cnt = count_val(a, n, a[max_idx]);
    std::cout << max_cnt << "\n"; 
    return 0;
}
или
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <ctime>
using namespace std;
 
int main(void)
{
    srand(unsigned(time(NULL)));     
    vector<int> v(10);
    generate(v.begin(), v.end(), []{return rand() % 20;});
    copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
    cout << endl << count(v.begin(), v.end(), *max_element(v.begin(), v.end()));
    return 0;
}
0
enota
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 36
06.05.2012, 18:50  [ТС] #4
N не более 1 миллиона? поэтому как можно без ограничений

Добавлено через 33 минуты
кто может помочь, программа выводит неверный результат
0
06.05.2012, 18:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 18:50
Привет! Вот еще темы с ответами:

имеется последовательность чисел содержащая n элементов, определить сколько раз в ней меняется знак - C++
имеется последовательность чисел содержащая n элементов, определить сколько раз в ней меняется знак Добавлено через 17 минут на...

Алгоритм: подсчитать, сколько раз в массиве состоящем из n чисел, встречается число a - C++
В общем нужно подсчитать, сколько раз в массиве состоящем из n чисел встречается число a, нужен просто алгоритм, слышал такое: счетчик = 0 ...

Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, сколько раз в этой последовательности меняется знак - C++
Помогите решить задачи через цикл do _ while: 4) Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, ...

Выяснить сколько раз в тексте встречается первое слово - C++
Задан текст, слова которого разделены пробелом. Выяснить сколько раз в тексте встречается первое слово


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.