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

Повторения - C++

Восстановить пароль Регистрация
 
Sharkerator
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 16
24.01.2011, 21:29     Повторения #1
Дана задача:
Дан одномерный массив из 150 случайных целых чисел в диапазоне от 14 до 37 включительно. Вывести те числа, которые наиболее редко встречаются в массиве и количество их повторений. Подсчет количества повторений для числа оформить в виде функции.

Я уже почти все сделал, но нужно, чтобы программа выводила количество повторений каждого числа, и если будет несколько наиболее редких чисел, то вывести их все как самые редкие.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <stdlib.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int Mas(int a,int b[1])
{
 int tmp=0;
 for (int i = 0; i < 150; i++)
 {
  if (a==b[i]) {tmp++;}
 }
 return (tmp);
}
 
int main(int argc, char* argv[])
{
int a[150];
randomize();
for (int i = 0; i < 150; i++)
{
a[i]=random(23)+14;
}
printf("File\n\n");
for (int i = 0; i < 150; i++)
{
printf("%d, ",a[i]);
}
int min=150,num;
for (int i = 0; i < 150; i++)
{
 if (min>Mas(a[i],a)) {min=Mas(a[i],a);num=a[i];}
}
printf("\n\nThe most rare number in a file:\n number=%d repetition=%d",num,min);
printf("\n\n");
getchar(); getchar();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 21:29     Повторения
Посмотрите здесь:

C++ Операторы повторения
операция повторения C++
C++ МАССИВЫ И СТРУКТУРЫ ПОВТОРЕНИЯ
C++ Найти повторения в строках
Повторения чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
24.01.2011, 21:37     Повторения #2
Sharkerator, предлагаю следующий алгоритм.
1. Создаётся изначальный массив чисел.
2. В дополнение к изначальному массиву создаётся массив (ну или дерево, чтобы потом не надо было сортировать) пар «число - количество повторений».
3. Массив пар сортируется по возрастанию.
4. Выбираются редкие числа.
Sharkerator
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 16
24.01.2011, 21:46  [ТС]     Повторения #3
volovzi, а функция в этом алгоритме использоваться будет?
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
24.01.2011, 21:51     Повторения #4
Sharkerator, напишешь функцию — будет, не напишешь — не будет.
Yandex
Объявления
24.01.2011, 21:51     Повторения
Ответ Создать тему
Опции темы

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