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

Найти в массиве и вывести значение наиболее часто встречающегося элемента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решения прикладных математических ZADACH http://www.cyberforum.ru/cpp-beginners/thread136630.html
Помогите решить, хто может заранее спасибо!!!!!!!!! Утверждается, что разница любого натурального числа и суммы его цифр кратна 9. Проверить этот факт для всех чисел, лежащих между заданными m и n.
C++ деревья От пользователя получить количество элементов, случайным чином заполнить бинарное дерево. Реализовать обратной обход дерева и удаление элементов. помогите если можно сделать до завтра http://www.cyberforum.ru/cpp-beginners/thread136597.html
C++ Посчитать среднее количество посещаемости студента
Вывести фамилию студента, который имеет среднее количество посещаемостей!!!!!
Вынос функций C++
Подскажите пожалуйста как вынести все функции в консольном Си в отдельный файл...
C++ Нахождение максимально свободной площади (геометрия) http://www.cyberforum.ru/cpp-beginners/thread136530.html
На входе есть число M - кол-во квадратных метров (купленная земля неким человеком). Но на этой земле есть N деревьев с координатами X1..Xn, Y1..Yn. Необходимо найти максимальную площадь территории свободную для постройки дома. Пример ввода: 5 3 2 2 4 2 4 4 Пример вывода: 3 Очень сильно нужна. Заранее огромное спасибо.
C++ Сортировки Нужно выполнить сортировку имен в лексикографическом порядке методом Хоора и Шелла. Собрал вроде обе, но Хоора не хочет работать. Работать с дебагером не очень умею, не могу понять в чем ошибка. код: #include "stdafx.h" #include "conio.h" #include <iostream> #include <iomanip> #include "locale.h" #include <fstream> подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
27.05.2010, 17:49     Найти в массиве и вывести значение наиболее часто встречающегося элемента
Алгоритм не очень эффективен в плане скорости работы, для небольших массивов подойдет, не надо создавать дополнительные массивы.
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
#include <stdlib.h>
#include <stdio.h>
 
#define SIZE 15
 
int main()
{
   int a[SIZE];
   int i = 0, j = 0;
 
   for(i = 0; i < SIZE; ++i)
      a[i] = rand() % 9;
 
   for(i = 0; i < SIZE; ++i)
      printf("%d ", a[i]);
   printf("\n");
 
   int max = 0, cur_max = 0, nmax = a[0];
   for(i = 0; i < SIZE; ++i)
   {
      if(cur_max > max)
      {
         nmax = a[i-1];
         max = cur_max;
      }
 
      cur_max = 0;
      for(j = i; j < SIZE; ++j)
         if(a[i] == a[j])
            ++cur_max;
   }
 
   printf("n = %d, in = %d\n", nmax, max);
 
   system("pause");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru