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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
elessar7
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 5
#1

Программа подсчитывающая количество повторов цифр в числе. - C++

10.01.2012, 00:17. Просмотров 1257. Ответов 6
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, с написанием программы. Задача в следующем: нужно ввести число с клавиатуры и вывести на экран цифру, которая повторяется больше всего раз, и сколько раз она повторяется. Заранее спасибо!

Добавлено через 19 минут
И ещё эта программа должна быть на Си
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 00:17     Программа подсчитывающая количество повторов цифр в числе.
Посмотрите здесь:
Рекурсия: количество цифр в числе, сумма цифр и реверс числа C++
C++ Определить количество цифр в числе n и сумму всех его цифр
С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр) C++
Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр C++
Программа, находящая папку по её полному "пути" и подсчитывающая количество файлов в ней C++
Количество цифр в числе C++
C++ Определить количество цифр в числе N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
10.01.2012, 00:20     Программа подсчитывающая количество повторов цифр в числе. #2
elessar7, к этой задаче можно отнестись как к задаче по распознаванию символов.
Вот вам код что будет выводить количество повторений различных цифр.
C++
1
2
3
4
5
6
7
8
9
int main ()
{
    const int SIZE=7;
    char ch='0';
    char number[SIZE];
    cin>>number;
    while(ch<=57)
     cout<<ch<<": "<<count(number,number+SIZE,ch)<<endl,ch++;
}
Дописать код чтобы он находил ещё и число что чаще всего повторялось сможете?
elessar7
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 5
10.01.2012, 00:26  [ТС]     Программа подсчитывающая количество повторов цифр в числе. #3
Спасибо, нет, не смогу дописать сам, я совсем недавно изучаю Си(примерно 2 недели).
Тут штука в том, что программа должна быть на именно на Си, а не на С++
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
10.01.2012, 03:11     Программа подсчитывающая количество повторов цифр в числе. #4
Тогда как-то так
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 <stdio.h>
#include <conio.h>
#include <cstring>
 
 
int howMuch=0;
char Max=0;
//специфический count для текущей задачи
//заодно приспособил искать max количество повторов
//раз уж мы через него всё проганяем
//плохой стиль программирования НЕ ДЕЛАЙТЕ ТАК
int count(char* start, char* end,const char find)
{
    int temp=0;
    while(start!=end)
     if (*start++==find)
      temp++;
 
    if(temp>=howMuch)
     Max=find,howMuch=temp;
    return temp;
};
 
int main ()
{
    const int SIZE=7;
    char ch='0';
    char number[SIZE];
 
    gets(number);
    if(strlen(number)==0)
     return 1;
    while(ch<=57)
     printf("%c: %i\n",ch,count(number,number+SIZE,ch)),ch++;
    printf("\nmax:%c",Max);
}
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
10.01.2012, 04:30     Программа подсчитывающая количество повторов цифр в числе. #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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
 
void numToMass(int, int []);
int digitWithMaxFrequency(const int [], int, int);
int indexOfdigit(const int [], int, int);
 
int main()
{
    int number;
    int digits[10] = {0};
 
    printf("Введите число: ");
    scanf("%d", &number);
 
    numToMass(number,digits);
 
    int index = digitWithMaxFrequency(digits,digits[0],9);
 
    printf("В числе %d наиболее встречающаяся цифра: %d с частотой %d\n", number, index, digits[index]);
 
 
    return 0;
}
 
void numToMass(int num, int digits[])
{
    while(num > 0)
    {
        digits[num % 10]++;
        num /= 10;
    }
}
 
int digitWithMaxFrequency(const int digits[], int maxFreq, int size)
{
    if(!size)
        return indexOfdigit(digits,maxFreq,size);
    else
        digitWithMaxFrequency(digits, digits[size] > maxFreq ? digits[size] : maxFreq, size-1);
}
 
int indexOfdigit(const int digits[], int maxFreq, int size)
{
    if(maxFreq == digits[size])
        return size;
    else
        indexOfdigit(digits,maxFreq,size+1);
}
elessar7
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 5
10.01.2012, 04:32  [ТС]     Программа подсчитывающая количество повторов цифр в числе. #6
Спасибо тебе огромнейшее!!!

Добавлено через 1 минуту
R136a1, тебе тоже спасибо! спасибо, без вас я бы завтра сильно огрёб от препода! Спасиибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2013, 09:46     Программа подсчитывающая количество повторов цифр в числе.
Еще ссылки по теме:
Количество цифр в вещественном (!) числе C++
Количество данных цифр в числе C++
C++ Считать количество цифр в числе
Количество различных цифр в числе C++
C++ Подсчитать количество цифр 5 в числе

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

Или воспользуйтесь поиском по форуму:
doomaks
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 7
07.10.2013, 09:46     Программа подсчитывающая количество повторов цифр в числе. #7
Я очень прошу напишите еще на С++, изучаю месяц но не могу сделать(
Yandex
Объявления
07.10.2013, 09:46     Программа подсчитывающая количество повторов цифр в числе.
Ответ Создать тему
Опции темы

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