Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 13

Найти для заданного натурального числа наибольшее, составленное из тех же цифр

07.10.2016, 09:09. Показов 1395. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Оформить в виде функции нахождение для заданного натурального числа наибольшего, составленного из тех же цифр. Применить функцию к файлу целых чисел.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.10.2016, 09:09
Ответы с готовыми решениями:

Найти количество и сумму цифр заданного натурального числа
Дано натуральное число n. Используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр.

Найти количество четных цифр заданного натурального числа
Привет, всем))помогите пожалуйста написать код для задачи: найти количество четных цифр заданного натурального числа. вот мой код,но он...

Найти количество четных цифр заданного натурального числа
Дано натуральное число: найти количество четных цифр этого числа; верно ли, что данная цифра А встречается в числе более двух раз...

6
Объявлятель переменных
 Аватар для SpBerkut
1224 / 410 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
07.10.2016, 09:34
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <algorithm>
 
unsigned getSortedDigits(unsigned n) {
    std::vector<unsigned> D;            // объявили вектор
    
    do D.push_back(n%10);               // заполнили вектор цифрами числа
    while (n/=10);
    
    sort(D.rbegin(),D.rend());          // отсортировали вектор по убыванию
    
    unsigned result = 0;                // объявили результат
    for(auto digit : D)
        result = result * 10 + digit;   // записали вектор в результат
    return result;                      // вывели результат
}
 
int main()
{
    std::cout << getSortedDigits(34102);
}
0
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 13
07.10.2016, 09:43  [ТС]
надо в виде функциии
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.10.2016, 09:48
egor4231, там и есть функция.
0
Объявлятель переменных
 Аватар для SpBerkut
1224 / 410 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
07.10.2016, 09:51
Цитата Сообщение от egor4231 Посмотреть сообщение
надо в виде функциии
Да я только за. getSortedDigits и есть та функция. Принимает на вход целое число и выдаёт максимальное число, которое можно составить из его цифр.
0
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 13
07.10.2016, 09:55  [ТС]
for(auto digit : D) в этой строчке показывает ошибку
0
Объявлятель переменных
 Аватар для SpBerkut
1224 / 410 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
07.10.2016, 10:59
Цитата Сообщение от egor4231 Посмотреть сообщение
в этой строчке показывает ошибку
Какую именно ошибку?
Ссылка на код: http://cpp.sh/6pkwm

Добавлено через 50 минут
Вариант функции без STL. Не идеальный, но работоспособный.
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>
 
unsigned getSortedDigits(const unsigned x) {
    unsigned n = x;                     // аргумент функции записали в отдельную переменную
    unsigned result = 0;                // объявили результат
    for (unsigned d = 9; d--;) {        // перебираем все цифры, кроме нуля
        unsigned temp = 0;              // временная переменная
        do
            if (n%10 == d)              // если цифра нашлась в числе
                result = result*10 + d; // то пишем её в конец результата
            else                        // иначе
                temp = temp*10 + n%10;  // цифру из проверяемого числа переносим во временную переменную
        while (n/=10);                  // убираем цифру из проверяемого числа и продолжаем цикл
        n = temp;                       // читаем значение из временной переменной и продолжаем с другой цифрой
    }
    while (result < x) result *= 10;    // т.к. нули не проверялись, добавляем их в конец результата
    return result;                      // выводим результат
}
 
int main()
{
    std::cout << getSortedDigits(403020);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2016, 10:59
Помогаю со студенческими работами здесь

Найти сумму первой и последней цифр заданного натурального числа
Очень надо решение задачи, иначе препод не поставит зачёт. Сам я в программировании полный ноль. дано натуральное число пи. найти...

Найти число, которое образуется при записи цифр заданного натурального числа в обратном порядке
Найти число, которое образуется при записи цифр заданногонатурального числа в обратном порядке. Например: для заданногочисла 1234 — это...

Разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр
На уроке преподаватель не объясняет как решать. Задачи берутся из &quot;Основы программирования на языке С++&quot; часть 2 Огнева М.В., Кудрина...

Для заданного натурального пятизначного числа выполнить перестановку его крайних чётных цифр (исправить ошибки)
Задача предельно простая и интересная, но в процессе компиляции он у меня выводит постоянно ошибки. Не могли бы вы подсказать, где они...

Программа, позволяющяя для заданного натурального пятизначного числа выполнить замену его чётных цифр на их дополнения до 9
Как написать данную программу, не используя массивы и циклы. На достаточно простом и понятном для новичка коде? К сожалению, пока они не...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru