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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 5.00
Goalkipeer
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 12
19.12.2009, 12:04     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #1
Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 12:04     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
Посмотрите здесь:

В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими цифрами C++
C++ В данном натуральном числе переставить цифры таким образом, чтобы получилось наименьшее число записанное этими же цифрами
Получите число, записанное теми же цифрами, но в противоположном порядке C++
В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число C++
C++ Рекурсия. Получите число, записанное теми же цифрами, но в противоположном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
19.12.2009, 14:45     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #2
работаю только за "спасибо".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <conio.h>
#include <iostream>
using namespace std;
 
int max(int x,int y){return (x>y)?x:y;}
 
int main( )
{
    int n;
    cin>>n;
    int k=0;
    short a,b,c;//Г°Г*çðÿäû Г·ГЁГ±Г«Г* n;
    a=(short)(n%1000)/100;
    b=(short)(n%100)/10;
    c=(short)n%10;
    cout << a <<"-"<< b <<"-" << c << endl;
    k=max(c*100+b*10+a,max(a*100+c*10+b,max(b*100+a*10+c,max(a*100+b*10+c,c*100+a*10+b))));
    cout << k << endl;
    getch();
    return 0;
}
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
19.12.2009, 15:03     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #3
Goalkipeer,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <boost/lexical_cast.hpp>
 
int main()
{
    std::basic_string <char> str;
    setlocale(LC_ALL,"RUSSIAN");
    std::cout << "введите число" << std::endl;
    std::getline(std::cin,str);
    std::sort(str.begin(), str.end(), std::greater <int> ());
    std::cout << boost::lexical_cast <int> (str) << std::endl;
    system("pause");
    return 0;
}
Добавлено через 48 секунд
Goalkipeer, в простом случае вам нужно упорядочить цифры по убыванию в числе, то есть из числа 123 максимальное будет 321. впринципе как сделал ауе у меня просто не только трёхзначные числа
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 15:06     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> 
#include <string>
#include <algorithm>
 
using namespace std;
 
int main()
{
    string s;
    cin >> s;                    //ввели строку
    sort(s.rbegin(),s.rend());   //отсортировали
    cout << s;                   //вывели
    system("pause");
    return 0;
}
а у меня кода меньше)) и библтиотек, и не только для цифр..
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
19.12.2009, 15:19     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #5
outoftime, а теперь удивись не мой не твой вариант препод не примет я так думаю)
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
19.12.2009, 15:40     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #6
Андрейка, если надо на си, то да, иначе - нет, просто написать функцию swap и сортировку руками и все..
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
19.12.2009, 15:44     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #7
outoftime, да я то понимаю, главное чтобы человек понял который решает.
Goalkipeer
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 12
19.12.2009, 16:05  [ТС]     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #8
мне нужно в языке С
is1142
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 9
07.02.2012, 18:30     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #9
Что означает следующий отрывок из кода?
....
int max(int x,int y){return (x>y)?x:y;}
......

Заранее спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2012, 19:16     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
is1142
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 9
08.02.2012, 19:16     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. #10
Что это значит int max(int x,int y){return (x>y)?x:y;})?
Yandex
Объявления
08.02.2012, 19:16     Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
Ответ Создать тему
Опции темы

Текущее время: 09:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru