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

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

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

Найти количество элементов массива, равных максимальному - C++

02.07.2012, 14:53. Просмотров 1057. Ответов 6
Метки нет (Все метки)

Дан целочисленный массив из 30 элементов. Найти количество элементов, равных максимальному.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 14:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество элементов массива, равных максимальному (C++):

Определить количество элементов массива, равных максимальному - C++
В целочисленном массиве определить количество элементов, равных максимальному с++

Найти в массиве количество элементов, равных максимальному - C++
Напишите программу, которая находит в массиве количество элементов, равных максимальному. Входные данные Первая строка содержит...

В заданном одномерном массиве посчитать количество элементов равных максимальному - C++
Дан одномерный массив А посчитать кол-во элементов равных максимальному

Одномерные массивы и указатели (найти количество элементов массива, равных 0, сумму элементов массива...) - C++
Помогите пожалуйста разработать программу и реализовать интуитивный понятный интерфейс (используя формы).При написании программы можно...

Найти количество элементов массива, равных 0 - C++
Добрый вечер всем. У меня есть задание: 1.Разработать алгоритм программы, которая решает Ваше индивидуальное задание (варианты...

Найти количество элементов массива, равных 0 - C++
Хлопцы патрэбна дапамога!Буду вельмі ўдзячны!:) Условие:При написании программ использовать динамические массивы. Размерность массивов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
02.07.2012, 14:58 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vector>
#include <algorithm>
#include <iostream>
 
int main()
{
    constexpr unsigned short int size = 30;
    std::vector<int> values(size);
    
    std::cout << "Enter an array:" << std::endl;
    for (int& value : values)
        std::cin >> value; 
    
    unsigned short int count = std::count(values.begin(), values.end(), *std::max_element(values.begin(), values.end()));
    std::cout << "Answer: " << count << std::endl;
    
    return EXIT_SUCCESS;
}
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
02.07.2012, 15:00 #3
щас же еще тему создаст, "сделайте попроще .. " )
defeltz
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 13
02.07.2012, 15:03  [ТС] #4
да не)
просто программа не работает надо запилить так чтоб когда в с++ вставлякешь она робила а так нифига
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
02.07.2012, 15:07 #5
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
#include <vector>
#include <algorithm>
#include <iostream>
#include <iterator>
 
template <typename T>
class enter_element : public std::unary_function<void, T>
{
public:
    T operator()() const
    {
        T value;
        std::cin >> value;
        return value;
    }
};
 
int main()
{
    const unsigned short int size = 30;
    std::vector<int> values;
    
    std::cout << "Enter an array:" << std::endl;
    std::generate_n(std::back_inserter(values), size, enter_element<int>());
    
    unsigned short int count = std::count(values.begin(), values.end(), *std::max_element(values.begin(), values.end()));
    std::cout << "Answer: " << count << std::endl;
    
    return EXIT_SUCCESS;
}
второй вариант)
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
02.07.2012, 15:22 #6
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
#include <iostream>
#include <conio.h>
#include <ctime>
#include <cstdlib>
using namespace std;
const int n=30;
int main()
{
    setlocale(0,"Rus");
    int mas[n];
    cout<<"Массив: "<<endl;
    srand((unsigned)time(NULL));
    for(int i=0;i<n;i++)
    {
        mas[i]=rand()%10;
        cout<<mas[i]<<" ";
    }
    int max=mas[0],count=0;
    for(int i=0;i<n;i++)
        if(mas[i]>max) max=mas[i];
    for(int i=0;i<n;i++)
        if(mas[i]==max) count++;
    cout<<endl<<"Количество: "<<count-1<<endl;
    getch();
    return 0;
}
Doctor_
234 / 234 / 71
Регистрация: 03.02.2011
Сообщений: 1,431
02.07.2012, 17:59 #7
Простой метод:
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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#define N 30
 
using namespace std;
 
int main() {
    srand(time(NULL));
    int vec[N], count = 0, i;
    for(i=0; i<N; i++) 
    vec[i] = rand()%5;
    for(i=0; i<N; i++)
    cout << vec[i] << " ";
    cout << endl;
    int max = vec[0];
    for(i=0; i<N; i++)
    if(vec[i] > max) 
    max = vec[i];
    for(i=0; i<N; i++)
    if(vec[i] == max)
    count++;
    cout << "Maximal element: " << max << ", repeats: " << count << " times" << endl;
    getche();
}
Функциями:
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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#define N 30
 
using namespace std;
 
void generate(int vector[], int const size);
void show(int vector[], int const size);
void max(int vector[], int const size);
 
int main() {
    
    int vec[N];
    generate(vec,N);
    show(vec,N);
    max(vec,N);
    getche();
}
 
void generate(int vector[], int const size) {
     srand(time(NULL));
     for(int i=0; i<N; i++) 
     vector[i] = rand()%5;
     }
     
void show(int vector[], int const size) {
     for(int i=0; i<N; i++)
     cout << vector[i] << " ";
     cout << endl;
     }
 
void max(int vector[], int const size) {
     int max = vector[0], count = 0;
     for(int i=0; i<N; i++)
     if(vector[i] > max) 
     max = vector[i];
     for(int i=0; i<N; i++)
     if(vector[i] == max)
     count++;
     cout << "Maximal element: " << max << ", repeats: " << count << " times" << endl;
     }
Классом:
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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#define N 30
 
using namespace std;
 
class Vector {
      int vec[N];
      public:
             Vector();
             void generate();
             void show();
             void max();
};
 
Vector :: Vector() {
       }
 
void Vector :: generate() {
     srand(time(NULL));
     for(int i=0; i<N; i++) 
     vec[i] = rand()%5;
     }
 
void Vector :: show() {
     for(int i=0; i<N; i++)
     cout << vec[i] << " ";
     cout << endl;
     }
 
void Vector :: max() {
     int max = vec[0], count = 0;
     for(int i=0; i<N; i++)
     if(vec[i] > max) 
     max = vec[i];
     for(int i=0; i<N; i++)
     if(vec[i] == max)
     count++;
     cout << "Maximal element: " << max << ", repeats: " << count << " times" << endl;
     }
 
int main() {
    Vector V1;
    V1.generate();
    V1.show();
    V1.max();
    getche();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2012, 17:59
Привет! Вот еще темы с ответами:

Найти количество элементов в этих массива равных первому элементу массива S - C++
Даны целочисленные массивы S и T с разным количеством элементов. Найти количество элементов в этих массива равных первому элементу массива...

Найти максимальное количество равных элементов массива - C++
Пожалуйста помогите с задачой с++. Дано натуральное число N и не упорядоченный массив из N целых чисел. Найти максимальное количество...

Найти количество элементов массива равных нулю - C++
Дан одномерный массив заданный генератором случайных чисел. Найти количество элементов массива, равных 0.А так же, сумму элементов массива,...

Найти количество элементов массива, равных заданному числу - C++
Помогите, пожалуйста. 1. Дан массив А (15). Найти количество элементов , равных заданному числу B.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.07.2012, 17:59
Ответ Создать тему
Опции темы

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