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

Переставить десятичные цифры числа так, чтобы получить максимально возможное число, записанное теми же цифрами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B http://www.cyberforum.ru/cpp-beginners/thread1068378.html
Задача 4. Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B.
C++ как свою прогу запустить на других компах Здравствуйте! Написал игрульку ну и решил её опробовать на других компах. Она не работает. У меня windows 7. И на тех компах где windows 7 она запускалась. На остальных - нет. компилировал на Microsoft Visual Studio 2010/ Что это, и как это решить? Заранее благодарю! http://www.cyberforum.ru/cpp-beginners/thread1068373.html
C++ Найти каноническое разложение многочлена над полем путем отделения кратных корней
Найти каноническое разложение многочлена над полем путем отделения кратных корней. x^6-15x^4+8x^3+51x^2-72x+27 никак не могу решить, толи опечатка в примере, то ли что. помогите разобраться пожалуйста..
C++ абстрактный класс
стоит ли в абстрактном классе объявлять поля данных? или лучше объявлять только виртуальные функции? с точки зрения правильности как лучше?
C++ Как удалить второй элемент списка? http://www.cyberforum.ru/cpp-beginners/thread1068363.html
Дан список идентификаторов длина которых не <8. Нужно удалить второй элемент из этого списка. Это удаление первого элемента: if (p- != NULL) { j = p-; p = p->uk; free(j); }как сделать чтобы удалял второй элемент?
C++ Поиск последовательности чисел (исправить код) есть программа { FILE* f=fopen("in.txt","rb"); // открыть файл FILE* f1=fopen("out.txt","wb"); char c; // читаемый символ int k=0; // количество цифр int mk=0; // макс кол цифр int x=0; // наиб число while(!feof(f)) подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
11.01.2014, 18:07     Переставить десятичные цифры числа так, чтобы получить максимально возможное число, записанное теми же цифрами
Перевод в строку совсем не обязателен, хотя запрограммить немного проще.
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
 
int MaxValue( int value )
{
    std::vector<int> v;
    while( value )
    {
        v.push_back(value%10);
        value /= 10;
    }
    std::sort( v.begin(), v.end(), std::greater<int>() );
    int result = 0; 
    for( const int i : v )
    {
        result = result*10 + i;
    }
    return result;
}
 
int main() {
 
    std::cout << MaxValue( 1234 ) << std::endl;
    std::cout << MaxValue( 1200 ) << std::endl;
    std::cout << MaxValue( 1000 ) << std::endl;
    std::cout << MaxValue( 9876 ) << std::endl;
    std::cout << MaxValue( 9879 ) << std::endl;
    
    return 0;
}
 
Текущее время: 02:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru