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

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

Войти
Регистрация
Восстановить пароль
 
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
#1

Максимальное число(системное программирование) - C++

10.12.2013, 17:35. Просмотров 459. Ответов 11
Метки нет (Все метки)

Добрый день,помогите пожалуйста кто сможет.
Условие:
Пользователь вводит с клавиатуры натуральное число 0<n<10000. Проверить корректность ввода,составить и вывести на экран число из цифр введенного числа n,так,чтобы выведенное число оказалось максимальным из возможных.
Например:
Если пользователь ввёл число 195, то программа должна вывести число 951.

В среде вижуал студио пожалуйста. Если возможно,добавить комментарии.
Буду благодарен за помощ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 17:35     Максимальное число(системное программирование)
Посмотрите здесь:

Системное программирование C++
C++ Системное программирование (найти наибольший элемент по модулю в матрице n*m)
C++ Харт Системное программирование в среде Windows
Максимальное число потоков C++
Системное программирование C++
C++ Системное и прикладное программирование, ваше мнение
Найти максимальное число C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
11.12.2013, 23:17  [ТС]     Максимальное число(системное программирование) #2
Помогите)
ТОрчОК
Заблокирован
12.12.2013, 00:09     Максимальное число(системное программирование) #3
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
int main()
{
    int n , temp = 0;
    std::vector<int> vec;
    std::cin >> n;
    while(n > 0)
    {
        temp = n % 10;
        vec.push_back(temp);
        n = (n - temp) / 10;
    }
    int size = vec.size();
    temp = 0;
    for(int i = 0; i < size; i++)
    {
        std::vector<int>::iterator iter = std::max_element(vec.begin(), vec.end());
        temp += *iter * std::pow((double)10,(double)(size - (i + 1)));
        vec.erase(std::remove(vec.begin(), vec.end(), *iter));
    }
    std::cout << temp;
    system("pause");
    return 0;
}
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
12.12.2013, 01:19  [ТС]     Максимальное число(системное программирование) #4
ТОрчОК, А что дописать нужно и куда что бы в командной строке сразу выскакивало предложение например :"Vvedit 4uslo"?
ТОрчОК
Заблокирован
12.12.2013, 01:29     Максимальное число(системное программирование) #5
перед вот этим вот
C++
1
 std::cin >> n;
напиши вот это вот
C++
1
std::cout << "enter the number\n";
ValeryS
Модератор
6485 / 4951 / 455
Регистрация: 14.02.2011
Сообщений: 16,397
12.12.2013, 01:32     Максимальное число(системное программирование) #6
Цитата Сообщение от ТОрчОК Посмотреть сообщение
n = (n - temp) / 10;
а это зачем?

Добавлено через 36 секунд
Цитата Сообщение от ТОрчОК Посмотреть сообщение
while(n > 0)
а если введет отрицательное число?
ТОрчОК
Заблокирован
12.12.2013, 01:38     Максимальное число(системное программирование) #7
можно и без temp, но математически так понятнее, как мне кажется

Добавлено через 2 минуты
тогда нужно fabs по модулю просто, это я не предусмотрел

Добавлено через 1 минуту
ну да fabs в некоторых местах не помешает
ValeryS
Модератор
6485 / 4951 / 455
Регистрация: 14.02.2011
Сообщений: 16,397
12.12.2013, 01:38     Максимальное число(системное программирование) #8
Цитата Сообщение от ТОрчОК Посмотреть сообщение
можно и без temp, но математически так понятнее, как мне кажется
не правильно кажется
смотрим
123
%10 =3
123/10=12
(123-3)/10=12
одинаково
зачем лишнее действие?
и не забывай здесь программирование а не математика, не все каноны совпадают
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
12.12.2013, 01:39  [ТС]     Максимальное число(системное программирование) #9
ТОрчОК, Спасибо большое)
ТОрчОК
Заблокирован
12.12.2013, 01:40     Максимальное число(системное программирование) #10
во всех компиляторах такое? если да то вообще ништяк впринципе
ValeryS
Модератор
6485 / 4951 / 455
Регистрация: 14.02.2011
Сообщений: 16,397
12.12.2013, 01:41     Максимальное число(системное программирование) #11
Цитата Сообщение от ТОрчОК Посмотреть сообщение
тогда нужно fabs по модулю просто, это я не предусмотрел
не fabs( это для плавающих) а abs( для целочисленных)
да и не нужно достаточно
C++
1
while(n )
или, если расшифровывать
C++
1
while(n!=0 )
Добавлено через 1 минуту
Цитата Сообщение от ТОрчОК Посмотреть сообщение
во всех компиляторах такое? если да то вообще ништяк впринципе
разумеется, целочисленные не могут содержать дробь, посему дробная часть отбрасывается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 18:24     Максимальное число(системное программирование)
Еще ссылки по теме:

Системное программирование. Работа с процессами и анонимным каналом C++
C++ Системное программирование. Последовательная обработка файлов с использованием отображения в память
Максимальное число вектора C++
C++ Найти максимальное число
C++ Задача по представлению в памяти массивов и матриц. Системное программирование

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

Или воспользуйтесь поиском по форуму:
vitalya_gap
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 34
12.12.2013, 18:24  [ТС]     Максимальное число(системное программирование) #12
ТОрчОК, Извините,а могли бы Вы еще помочь? Надо написать комментарии к коду.И возможно ли дописать в код такое условие что программа завершает работу только при вводе одинаковых чисел "111 или 55555"?
Yandex
Объявления
12.12.2013, 18:24     Максимальное число(системное программирование)
Ответ Создать тему
Опции темы

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