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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
ForestG
32 / 32 / 3
Регистрация: 21.11.2009
Сообщений: 201
#1

Найти максимально повторяющееся число в массиве - C++

22.11.2009, 21:46. Просмотров 1115. Ответов 22
Метки нет (Все метки)

Вводится массив из десяти чисел. Найти максимально повторяющееся число.


Что делаю: объявляю массив mas[9], через вложенный цикл ищу повторяющиеся элементы, записываю число повторений в друго массив (dop[9]) и вот тут проблема...
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
 
{
    int mas[9];
int dop[9];
int i,j,k;
 
cout<<"1.el.massiva=";cin>>mas[0];
cout<<"2.el.massiva=";cin>>mas[1];
cout<<"3.el.massiva=";cin>>mas[2];
cout<<"4.el.massiva=";cin>>mas[3];
cout<<"5.el.massiva=";cin>>mas[4];
cout<<"6.el.massiva=";cin>>mas[5];
cout<<"7.el.massiva=";cin>>mas[6];
cout<<"8.el.massiva=";cin>>mas[7];
cout<<"9.el.massiva=";cin>>mas[8];
cout<<"10.el.massiva=";cin>>mas[9];
 
for (i=0;i<=9;i++)
for (j=0;j<=9;j++)
 
{
k=0;
if (mas[i]==mas[j]) // может условие не то?  А то оно у меня сравнивает с теме же цифрами думал добавить, еще( && i!=j)-это что б с одинаковыми индексами не сравнивать???????
 
k=k+1;  //Короче к k присваивается 1, но оно так и наращивается
 
dop[i]=k;
 
cout<<i<<","<<j<<"="<<dop[i]<<"\n";
 
}
........................................................................................................................................
До этого не дошел пока.
Дальше буду искать максимально повторяющийся элемент, и выводить число...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2009, 21:46     Найти максимально повторяющееся число в массиве
Посмотрите здесь:

C++ Найти число последовательности, у которого количество одинаковых цифр максимально
C++ Найти число последовательности, у которого количество одинаковых цифр максимально
C++ В массиве целых чисел найти максимально длинную возрастающую последовательность
C++ Найти число на отрезке [x;y], произведение цифр которого максимально
C++ В массиве найти минимальный положительный и максимально отрицательный элемент и вычисляет их следующее значени
C++ В вещественном массиве найти число максимально близкое к заданному целому
C++ Найти в массиве точки, которые максимально удалены от начала координат
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lolopolosko
1353 / 311 / 5
Регистрация: 21.11.2009
Сообщений: 992
22.11.2009, 23:26     Найти максимально повторяющееся число в массиве #21
C++
1
cout<<"ПОКА!";
trive
4 / 4 / 1
Регистрация: 05.10.2009
Сообщений: 19
23.11.2009, 00:09     Найти максимально повторяющееся число в массиве #22
Задача решается и без массива dop
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <conio.h>
void main()
{
int mas[10];
int i,j,k=0,max=0,ii;
for(i=0;i<=9;i++)
{
 cout<<i<<".el.massiva=";
 cin>>mas[i];
}
for (i=0;i<=9;i++)
{
 k=0;
 for (j=0;j<=9;j++)
         if ((i!=j)&&(mas[i]==mas[j]))k++;
 if (k>max) { max=k; ii=mas[i];    } cout<<endl<<k;
}
cout<<endl<<ii<<" vstrechetsya "<<max<<" raz";
getch();
}
Можно убрать условие i!=j и тогда будет выводится общее к-во повторения числа в массиве(т.е если весь массив единиц,то будет выведено 10)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2009, 06:38     Найти максимально повторяющееся число в массиве
Еще ссылки по теме:

Найти число, повторяющееся максимальное количество раз C++
C++ В массиве найти номер числа, максимально приближенное к заданному
C++ Массив: вывести число, повторяющееся наибольшее число раз.
C++ Найти число повторяющееся наибольшее количество раз
Строки: найти слово, в котором число различных символов максимально C++

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

Или воспользуйтесь поиском по форуму:
Chea
6 / 6 / 0
Регистрация: 29.09.2009
Сообщений: 41
23.11.2009, 06:38     Найти максимально повторяющееся число в массиве #23
вариант без вложенных циклов

Код
for(int i=0;i<=9;dop[mas[i++]]++);
max=0;
for(int i=1;i<=9;i++)
   if(dop[i]>dop[max])max=i;
 
printf("\n4islo %d povtorivaetsa %d raz",max,dop[max]);
Yandex
Объявления
23.11.2009, 06:38     Найти максимально повторяющееся число в массиве
Ответ Создать тему
Опции темы

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