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

Является ли последовательность цифр натурального числоа упорядоченной по возрастанию - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
25.03.2012, 17:57     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #1
помогите составить код
Дано натуральное число. Установить , является ли последовательность его цифр при просмотре их справа налево упорядоченной по возрастанию. Например для числа 5321 ответ положительный, для числе 7820 и 9663 – отрицательный.

Добавлено через 1 час 21 минуту
подмогите

Добавлено через 38 минут
нужно написать этот код с помощью класса
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 17:57     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию
Посмотрите здесь:

C++ Выяснить, является ли последовательность из М введенных целых чисел упорядоченной по убыванию
Определить является ли последовательность чисел, находящихся в файле, упорядоченной C++
Определить, является ли вводимая последовательность упорядоченной по убыванию. C++
есть ли в записи натурального числа n последовательность из k одинаковых цифр C++
Станет ли последовательность упорядоченной, если из записи каждого элемента удалить... C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 18:23     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #2
держите
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
bool is_greater_digits(int number)
{
    bool flag = false;
    int n = number%10;
    while (number)
    {
        if (flag)
        {
            if (n >= number%10)
            {
                return false;
            }
 
            n = number%10;
        }
        else
        {
            flag = true;
        }
        number /= 10;
    }
 
    return true;
}
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
27.03.2012, 01:33  [ТС]     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #3
panicwassano, спасибо, за то что потратили время, но боюсь код слишком сложный, я его не понимаю, и он без класса
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.03.2012, 02:55     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #4
Цитата Сообщение от Wampall Посмотреть сообщение
код слишком сложный, я его не понимаю, и он без класса
ну с классом-то на много проще!
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
#include <iostream>
 
class NumberTester {
public:
    bool operator () (int n){
        int last_digit = -1;
    
        while ( n && n % 10 > last_digit ){
            last_digit = n % 10;
            n /= 10;
        }
    
        return !n;
    }
};
 
int main(){
    int n;
    NumberTester nt;
    
    while ( std::cout << "Number: " && std::cin >> n && n > 0 )
        std::cout << ( nt(n) ? "OK" : "FAIL" ) << std::endl;
    
    return 0;
}
Wampall
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 66
27.03.2012, 21:17  [ТС]     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #5
easybudda, спасибо большое)
было бы чудесно если бы вы пояснили
6 8 21 и 22 строчку.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.03.2012, 23:42     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #6
Цитата Сообщение от Wampall Посмотреть сообщение
6 8
Заводится переменная для хранения последней цифры, инициализируется значением -1. Поскольку число у нас положительное, последняя цифра (остаток от целочисленного деления на 10) будет заведомо больше. Дальше в цикле, пока число больше 0, сравниваем последнюю цифру со значением last_digit, если она меньше или равна - цикл прерывается, если нет - значение последней цифры присваивается переменной last_digit, число делится на 10.

Цитата Сообщение от easybudda Посмотреть сообщение
return !n;
Если цикл дошёл до конца и число обнулилось, вернёт true, если цикл прервался (цифры не составляют возрастающую последовательность) - вернёт false.

Цитата Сообщение от Wampall Посмотреть сообщение
21 и 22
А компилировать+запускать пробовали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2012, 18:42     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию
Еще ссылки по теме:

Если последовательность отсортирована по возрастанию, оставить ее без изменения. Иначе получить иную последовательность C++
C++ Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе

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

Или воспользуйтесь поиском по форуму:
Stasy1
 Аватар для Stasy1
1 / 1 / 1
Регистрация: 31.01.2012
Сообщений: 20
05.04.2012, 18:42     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию #7
а можно эту же програмку на паскальАБС?
Yandex
Объявления
05.04.2012, 18:42     Является ли последовательность цифр натурального числоа упорядоченной по возрастанию
Ответ Создать тему
Опции темы

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