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

Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию - C++

Восстановить пароль Регистрация
 
Золушка_я
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
29.06.2016, 23:18     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию #1
Всем доброго времени суток! Очень прошу помочь написать правильно решение задачи.
Пользователь вводит положительное число. Нужно определить:
• является ли последовательность его цифр упорядоченной по возрастанию;
• является ли последовательность его цифр упорядоченной по убыванию.

Получилось определить по возрастанию, а по убыванию не пойму где делаю ошибку.
Всем заранее огромнейшее спасибо за помощь)) И вот собственно решение, но где-то ошибка.


#include <iostream>
using namespace std;

void main() {
setlocale(0, "rus");
int x, n;

cout << "Введите положительное число ";
cin >> n;

x = n % 10;
n /= 10;

bool yes = true;

while (n > 0)
{
if (n % 10 < x)
{
n /= 10;
continue;
}
yes = false;
break;
}
yes ?
cout << "Последовательность упорядочена по возрастанию" << endl:
cout << "Последовательность не упорядочена по возрастанию" << endl;
while (n > 0)
{
if (n % 10 > x)
{
n /= 10;
continue;
}
yes = false;
break;
}
yes ?
cout << "Последовательность упорядочена по убыванию" << endl
:
cout << "Последовательность не упорядочена по убыванию" << endl;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2016, 23:18     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию
Посмотрите здесь:

C++ Отсортировать массив по убыванию и по возрастанию
C++ по возрастанию или убыванию упорядочена указанная строка двумерного массива
C++ Сортировать массивы по возрастанию и по убыванию.
C++ Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена..
Реализовать сортировку по возрастанию и убыванию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
30.06.2016, 16:28     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
Пользователь вводит положительное число. Нужно определить:
•   является ли последовательность его цифр упорядоченной по возрастанию;
•   является ли последовательность его цифр упорядоченной по убыванию.
*/
 
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
 
template <class FI, class C>
bool is_sorted(FI first, FI last, C comp)
{
    if (first == last)
        return false;
    for (; first != last - 1; ++first)
        if (comp(*(first + 1), *first))
            return false;
    return true;
}
 
template <class FI>
bool is_sorted(FI first, FI last)
{
    return is_sorted(first, last, std::less<int>());
}
 
int main()
{
    setlocale(0, "rus");
 
    int n;
    std::cout << "Введите число: ";
    std::cin >> n;
 
    std::vector<int> digits;
    while (n > 0)
    {
        digits.push_back(n % 10);
        n /= 10;
    }
    std::reverse(digits.begin(), digits.end());
 
    if (is_sorted(digits.begin(), digits.end()))
        std::cout << "последовательность цифр является упорядоченной по возрастанию";
    else if (is_sorted(digits.begin(), digits.end(), std::greater<int>()))
        std::cout << "последовательность цифр является упорядоченной по убыванию";
    else
        std::cout << "последовательность цифр не упорядочена";
    std::cout << std::endl;
 
    system("pause");
    return 0;
}
Золушка_я
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
30.06.2016, 19:44  [ТС]     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию #3
John Prick, Извините, пожалуйста. В теме забыла указать, что нужно сделать через циклы (for, while и т.п.)
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
30.06.2016, 22:57     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию #4
Цитата Сообщение от Золушка_я Посмотреть сообщение
Извините, пожалуйста. В теме забыла указать, что нужно сделать через циклы (for, while и т.п.)
Здесь сделано через for
Namat
12 / 12 / 5
Регистрация: 02.12.2014
Сообщений: 35
01.07.2016, 00:02     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Золушка_я Посмотреть сообщение
Получилось определить по возрастанию
Введите последовательность: 12321 и удивитесь.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
using namespace std;
 
int main() {
    setlocale(0, "rus");
    int x, n, tmp;
 
    cout << "Введите положительное число ";
    cin >> n;
 
    tmp = n;
    x = n % 10;
    n /= 10;
 
    bool yes = true;
 
    while (n > 0)
    {
        if (n % 10 < x)
        {
            x = n % 10;
            n /= 10;
            continue;
        }
        yes = false;
        break;
    }
    yes ?
                cout << "Последовательность упорядочена по возрастанию" << endl:
                        cout << "Последовательность не упорядочена по возрастанию" << endl;
 
    n = tmp;
    x = n % 10;
    n /= 10;
    yes = true;
 
    while (n > 0)
    {
        if (n % 10 > x)
        {
            x = n % 10;
            n /= 10;
            continue;
        }
        yes = false;
        break;
    }
    yes ?
                cout << "Последовательность упорядочена по убыванию" << endl
                        :
                        cout << "Последовательность не упорядочена по убыванию" << endl;
}
Золушка_я
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
01.07.2016, 01:06  [ТС]     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию #6
John Prick, немного уточню. имела в виду, что без class, sorted и прочего. Просто мы это еще не проходили и соответственно я не поняла как работает программа. спасибо еще раз

Добавлено через 11 минут
Namat, спасибо вам большое))
Yandex
Объявления
01.07.2016, 01:06     Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию
Ответ Создать тему
Опции темы

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