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

Найти число в массиве - C++

Восстановить пароль Регистрация
 
damsteel
1 / 1 / 0
Регистрация: 23.11.2011
Сообщений: 6
30.11.2011, 01:21     Найти число в массиве #1
Задан массив из k чисел. Найти число, наиболее часто встречающееся в этом массиве. (с++ код)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2011, 01:21     Найти число в массиве
Посмотрите здесь:

Найти максимальное простое число в массиве C++
C++ Найти неповторяющееся число в массиве
Найти в массиве число в диапазоне. C++
Найти простое число в массиве C++
В целочисленном массиве найти число чередований знака, то есть число переходов с минуса на плюс или с плюса на минус. C++
как найти в массиве максимальное число? C++
C++ Найти в массиве второе по величине число
Найти в массиве число чередований знака C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ариман
20 / 20 / 1
Регистрация: 18.09.2010
Сообщений: 28
30.11.2011, 01:58     Найти число в массиве #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
const int n=6;
int main(int argc, char *argv[])
{int mas[n]={1,3,4,4,4,2};
int i;
int mas1[n]={0};
for(i=0;i<n;i++)
mas1[mas[i]]++;
int max=0;
for(i=0;i<n;i++)
if(max<mas1[i])
max=mas1[i];
for(i=0;i<n;i++)
if(mas1[i]==max)
cout<<mas[i]<<endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
если там есть равное количество одинаковых чисел то выдаст первое ....но доработать несложно сам надеюсь справишься
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
30.11.2011, 10:39     Найти число в массиве #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
#include <iostream>
using namespace std;
 
int find_repeat(const int* arr, int size) {
   int tmp = 0, cnt = 0, pos = 0;
   for(int i = 0; i < size; i++) {
      for(int j = i; j < size; j++) {
           if(arr[j] == arr[i])
               cnt++;
      }
      if(cnt > tmp) {
           tmp = cnt;
           pos = i;
      }
      cnt = 0;
   }
   return arr[pos];
}
 
 
int main(void) {
  int arr[] = { 10, 3, 4, 3, 10, 2, 3, 3, 2, 2, 3 };
 
  int num = find_repeat(arr, sizeof(arr) / sizeof(arr[0]));
  cout << "max repeat: " << num << endl;
  return 0;
}
Yandex
Объявления
30.11.2011, 10:39     Найти число в массиве
Ответ Создать тему
Опции темы

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