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

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

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

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

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

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

Добавлено через 19 минут
И ещё эта программа должна быть на Си
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 00:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа подсчитывающая количество повторов цифр в числе. (C++):

Определить количество цифр в числе n и сумму всех его цифр - C++
Дано натуральное n , определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры. Добавлено через...

Рекурсия: количество цифр в числе, сумма цифр и реверс числа - C++
Вот задание: Написать программу, которая запрашивает у пользователя целое число, на экран выводит сколько цифр в числе, их сумму и...

Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр - C++
я начинающий! помогите! мне на екзам! Дано натуральное число а (a<100). Напишите программу, выводящую на экран количество цифр в этом...

С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр) - C++
С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр)

Программа, находящая папку по её полному "пути" и подсчитывающая количество файлов в ней - C++
Здравствуйте, вот код программы, а ошибка состоит в том, что программа не ищет папки или файлы по заданному пути, вместо этого она ищет...

Количество цифр в числе - C++
Число указует пользователь и нужно через for цыкл

6
Gepar
1177 / 533 / 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++;
}
Дописать код чтобы он находил ещё и число что чаще всего повторялось сможете?
1
elessar7
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 5
10.01.2012, 00:26  [ТС] #3
Спасибо, нет, не смогу дописать сам, я совсем недавно изучаю Си(примерно 2 недели).
Тут штука в том, что программа должна быть на именно на Си, а не на С++
0
Gepar
1177 / 533 / 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);
}
1
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);
}
1
elessar7
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 5
10.01.2012, 04:32  [ТС] #6
Спасибо тебе огромнейшее!!!

Добавлено через 1 минуту
R136a1, тебе тоже спасибо! спасибо, без вас я бы завтра сильно огрёб от препода! Спасиибо!
0
doomaks
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 7
07.10.2013, 09:46 #7
Я очень прошу напишите еще на С++, изучаю месяц но не могу сделать(
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2013, 09:46
Привет! Вот еще темы с ответами:

Узнать количество цифр в числе - C++
Узнать кол-во цифр в числе

Количество данных цифр в числе - C++
Помогите пожалуйста с задачкой Подсчитать количество цифр а в числе b Входящие данные В первой строке задано 32-розрядное...

Считать количество цифр в числе - C++
Нужно написать програмку, которая из двух чисел выбрала бы то, в котором больше цифр (написать прогу, которая считала бы количество цифр...

Количество различных цифр в числе - C++
Дано натуральное число n. Подсчитать количество различных цифр, встречающихся в k-старших разрядах его записи. Почему не работает...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
07.10.2013, 09:46
Ответ Создать тему
Опции темы

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