С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
1

Найти цифры, которые чаще всего встречаются в заданном натуральном числе N

20.11.2016, 22:05. Показов 2253. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Долго сижу над задачей, никак не допру, подскажите пожалуйста как реализовать данную задачу. "Найти цифры, которые чаще всего встречаются в заданном натуральном числе N", подобная тема уже есть, но не нашёл в ней ответа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(){
    
    long int k,i,j,n; 
    cin >> n;
    
    j = 0;
    k = 0;
 
    while( n != 0 ){ 
           // все действия тут
    }
   
  
   cout << i;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2016, 22:05
Ответы с готовыми решениями:

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

Проверить, что в натуральном числе встречаются цифры А и В.
Помогите пожалуйста решить задачу, буду весьма признателен. Проверить, что в натуральном числе...

Определить, есть ли в заданном натуральном числе указанные цифры
В школе задали, кто знает как решить ? Спасибо. Дано натуральное число. Определить, есть ли в...

Структуры: определить список 3 диагнозов, которые чаще всего встречаются у пациентов
У меня есть структура. struct Patients { char NAME; char SURNAME; char GENDER; char ADRESS;...

23
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
21.11.2016, 14:11 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
int main(){
        setlocale(0, "rus");
    long n;
    int max=0, Num[10];
    for (int i=0; i<10; i++)
        Num[i]=0;
        std::cin>>n;
    do{
        Num[n%10]++;
        n/=10;
    }
    while (n!=0);
    for (int i=1; i<10; i++)
        if (Num[i]>Num[max])
            max=i;
    std::cout<<"наиболее часто встречающаяся в веденном числе цифра= "<<max<<;
}
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2016, 14:23 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    const int N = 1234523, numDig = 10;
    int digits[numDig] = {}, max;
    for (int x = N; x; x /= 10)
        ++digits[x%10];
    max = digits[0];
    for (int i=1; i < numDig; i++)
        if (max < digits[i])
            max = digits[i];
    for (int i=0; i < numDig; i++)
        if (digits[i] == max)
            std::cout << i << " ";
}
Добавлено через 15 секунд
lawr, в задании требуют цифры
0
Диссидент
Эксперт C
27708 / 17326 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
21.11.2016, 14:42 4
Вместо строк 7-12 можно
C++
1
2
3
4
5
max = 0;
for (int x = N; x; x /= 10) {
    int d = ++digits[x%10];
    if (max < d) max = d;
}
2
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 14:49  [ТС] 5
Здесь не в массиве! Просто из числа, и не одну цифру, а к примеру 32441, должно вывести 4, 4
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2016, 14:53 6
Цитата Сообщение от erik1111 Посмотреть сообщение
32441, должно вывести 4, 4
А если так: 332441 ?
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 18:30  [ТС] 7
Тогда, что-то типа; 3, 4 или 3, 3, 4, 4
0
Диссидент
Эксперт C
27708 / 17326 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
21.11.2016, 19:11 8
Цитата Сообщение от erik1111 Посмотреть сообщение
что-то типа
А вы не хотели бы определиться с "типом"? Типа "3, 4" вам уже было предложено в посте 3 (запятую уж сами поставите, или как?) Типа "3, 3, 4, 4" - тоже не бином Ньютона.
И вопрос. Вы настолько беспомощны в языке, что не можете модифицировать предложенный вам простенький алгоритм под свои конкретные нужды? Или умеете только вопросы задавать (не очень-то умея их формулировать)? Имхо, так у вас ничего не получится. Надо и своими извилинами слегка шевелить.
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 19:27  [ТС] 9
Дело в том, что я не силён в c++, на мой взгляд предложенные варианты выше абсолютно не подходят под условие задачи, прочтите внимательно условие задачи, вопрос может быть не конкретно сформулировал в первый раз, но думаю теперь всё понятно. Если он такой простенький может быть Вы предложите свой вариант решения? Или вам проще писать вопросы в абзац и говорить, что я не умею формулировать вопрос? или не могу шевелить своими извилинами? Я пробовал шевелить, иначе не создавал бы тему на форуме.
0
Диссидент
Эксперт C
27708 / 17326 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
21.11.2016, 19:45 10
Прошу прощения у других участников обсуждения. Но мой опыт показывает, что иногда небольшая эмоциональная встряска помогает начать думать своим умом. Но, увы, не всегда...
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 21:32  [ТС] 11
Вы не подскажите как это сделать?
0
Диссидент
Эксперт C
27708 / 17326 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
21.11.2016, 21:48 12
Цитата Сообщение от erik1111 Посмотреть сообщение
Вы не подскажите как это сделать?
Все давно уже сделано. В посте 3. Слегка (не существенно) модифицировано в посте 4. Можешь на это внимания не обращать.
Но если ты не понимаешь, что все тебе уже сделали, скажи, как можно тебе помочь?!
Может быть тебя что-то не устраивает? Вполне возможно, бывает. Может быть, тебя неправильно поняли, или ты изложил свою задачу неадекватно. Так, скажи же, черт побери, какого тебе рожна надо! И так, чтоб это было понятно, тем, не совсем уж глупым людям, которые тут возятся с тобой.
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 22:04  [ТС] 13
Я же написал, что не в массиве нужно находить, а просто из просто натурального числа! Что не понятого?
0
806 / 533 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
21.11.2016, 22:31 14
Цитата Сообщение от erik1111 Посмотреть сообщение
Тогда, что-то типа; 3, 4
erik1111, писал немного с затуманенной головой, поэтому если есть ошибки то сорян
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <functional>
#include <map>
using namespace std;
 
int main()
{
    string str;
    cin >> str;
 
    map<const char, size_t> chMap;
    for (const auto& i : str)
        ++chMap[i];
 
    map<const size_t, string, greater<const size_t>> cntMap;
    for (const auto& i : chMap)
        cntMap[i.second] += i.first + string(" ");
 
    cout << cntMap.cbegin() -> second << endl;
 
    system("pause");
}
Добавлено через 9 минут
Цитата Сообщение от erik1111 Посмотреть сообщение
к примеру 32441, должно вывести 4, 4
в моем коде подкрути строчку
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
C++
1
cout << cntMap.cbegin() -> second << endl;
на
C++
1
2
3
4
5
6
7
8
9
for
(
    auto count(cntMap.cbegin() -> first);
    count;
    --count
)
    cout << cntMap.cbegin() -> second;
 
cout << endl;
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 22:33  [ТС] 15
Спасибо, за Ваш ответ, но скажите можно ли реализовать без использование Map и других библиотек? только с iostream?
0
806 / 533 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
21.11.2016, 22:35 16
erik1111, конечно можно)) но скучно))
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 22:37  [ТС] 17
Я, конечно, надоел вам уже, но можете показать вариант решение только с iostream? без Map, и массива, именно такой вариант мне и нужен. Заранее спасибо.
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
21.11.2016, 23:09 18
Цитата Сообщение от erik1111 Посмотреть сообщение
без массива,
Твоя задача не решается без введения небольшого фиксированного размера массива. На 10 элементов. По количеству возможных цифр.
Нет, конечно, можно все. Но это будет такая уродина, что ни один уважающий себя программист такой код писать не возьмется. И с твоей подготовкой тебе вряд ли удастся такой код понять.
2
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 11
21.11.2016, 23:17  [ТС] 19
Я пойму, с массивом я могу и сам сделать, заранее спасибо.
0
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
22.11.2016, 16:30 20
Лучший ответ Сообщение было отмечено erik1111 как решение

Решение

erik1111, вот тебе без массива:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
int main(){
    long n;
    int num, q, max_num, max_num_q=0;
    std::cin>>n;
    do{
        num=n%10;
        q=0;
        for (long temp=n; temp>0; temp/=10)
            if (temp%10==num)
                q++;
        if (q>max_num_q)
            max_num_q=q, max_num=num;
        n/=10;
    }
    while (n>0);
    std::cout<<max_num;
        
}
2
22.11.2016, 16:30
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2016, 16:30
Помогаю со студенческими работами здесь

Найти количество цифр в заданном натуральном числе
найти сколько цифр в данном натуральном числе n(n&lt;=100) c++ Очень надо.

Вычислить количество цифр в заданном натуральном числе
Вычисление количества цифр в заданном натуральном числе. Максимально вычисляет 10, что мне...

Определить количество цифр 3 в заданном натуральном числе
Дано натуральное число, определить а) количество цифр 3 в нем;

Подсчитать количество цифр в заданном натуральном числе.
Подсчитать количество цифр в заданном натуральном числе. (как можно понятнее и проще, если можно)


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru