0 / 0 / 0
Регистрация: 19.09.2020
Сообщений: 49
1

Дано натуральное число N. Верно ли утверждение, что цифры в этом числе образуют возрастающую последовательность

25.03.2022, 09:31. Показов 1743. Ответов 9
Метки нет (Все метки)

Исходные данные: N целый тип.
Результат: ключ k – равен нулю, если последовательность цифр возрастает,
единице, если не возрастает.
Для сокращения числа на 1 цифру делим число на 10, для получения цифр в
числе вычисляем остаток от деления на 10. Чтобы сравнивать две цифры используем
переменные а и b. а – правая цифра в паре, b – левая цифра в паре.
Тестовый пример:
при N=35679 вывод ‗возрастает‘;
при N=35479 вывод ‗не возрастает‘
Есть вот такое
Но тут для трехзначного числа

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int A;
    cout << "A: ";
    cin >> A;
    A = fabs(A);
    cout << (((A / 100) < (A % 100 / 10)) & ((A % 100 / 10) < (A % 10))) << endl;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2022, 09:31
Ответы с готовыми решениями:

Дано натуральное число N. Верно ли утверждение, что цифры в этом числе образуют возрастающую последовательность
Исходные данные: N целый тип. Результат: ключ k – равен нулю, если последовательность цифр...

Дано натуральное число. Верно ли, что в данном числе нет данной цифры А
помогите пожалуйста найти ошибку, выдает что всегда есть Задание: Дано натуральное число. Верно...

Дано натуральное число. Верно ли, что в данном числе нет заданной цифры?
Дали задание: Дано натуральное число. Верно ли, что в данном числе нет данной цифры А. А задается...

Дано натуральное число. Верно ли, что в данном числе нет данной цифры А
Помогите пожалуйста, везде обыскал, не нашел. Сам пытался, выводит неправильно.

9
0 / 0 / 0
Регистрация: 19.09.2020
Сообщений: 49
25.03.2022, 09:35  [ТС] 2
Исходные данные: N целый тип.
Результат: ключ k – равен нулю, если последовательность цифр возрастает,
единице, если не возрастает.
Для сокращения числа на 1 цифру делим число на 10, для получения цифр в
числе вычисляем остаток от деления на 10. Чтобы сравнивать две цифры используем
переменные а и b. а – правая цифра в паре, b – левая цифра в паре.
Тестовый пример:
при N=35679 вывод ‗возрастает‘;
при N=35479 вывод ‗не возрастает‘.

Есть вот такое но тут для трехзначного числа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int A;
    cout << "A: ";
    cin >> A;
    A = fabs(A);
    cout << (((A / 100) < (A % 100 / 10)) & ((A % 100 / 10) < (A % 10))) << endl;
    return 0;
}
0
1162 / 824 / 358
Регистрация: 26.02.2015
Сообщений: 3,711
25.03.2022, 09:46 3
Лучший ответ Сообщение было отмечено Vendetta2002 как решение

Решение

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
#include <iostream>
 
bool checkNumber(std::size_t number) {
    std::size_t prevDigit = number % 10;
    number = number / 10;
 
    while (number > 0) {
        std::size_t currDigit = number % 10;
        number = number / 10;
 
        if (currDigit > prevDigit)
            return false;
 
        prevDigit = currDigit;
    }
 
    return true;
}
 
 
int main() {
 
    std::size_t number;
    std::cin >> number;
 
    std::cout << std::boolalpha << checkNumber(number) << '\n';
 
    return 0;
 
}
1
1971 / 1096 / 467
Регистрация: 11.10.2018
Сообщений: 5,611
25.03.2022, 09:52 4
Лучший ответ Сообщение было отмечено Vendetta2002 как решение

Решение

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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int n, dig, last_dig;
    bool Vozr = true;
 
    /*
    cout << "Vvedite chislo\n";
    cin >> n;
    cout << '\n';
    */
    n = 12345;
 
    last_dig = n%10;
    n /= 10;
    while(n)
    {
        dig = n%10;
        n /= 10;
        if(dig > last_dig)
        {
            Vozr = false;
            break;
        }
        last_dig = dig;
    }
    if(Vozr)
      cout << "vozrastayut\n";
    else
      cout << "ne vozrastayut\n";
    return 0;
}
1
0 / 0 / 0
Регистрация: 19.09.2020
Сообщений: 49
25.03.2022, 09:52  [ТС] 5
Cпасибо огромное!
0
Продавец времени
7130 / 4006 / 924
Регистрация: 12.03.2015
Сообщений: 18,848
25.03.2022, 10:04 6
Лучший ответ Сообщение было отмечено Vendetta2002 как решение

Решение

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
#include <cstdio>
 
// Вернёт true, если цифры возрастают слева направо
bool is_increasing(unsigned x)
{
  while (x > 9)
  {  
    if ((x / 10) % 10 >= x % 10) return false;
    x /= 10;
  }
  return true;
}
 
// Вернёт true, если цифры убывают слева направо
bool is_decreasing(unsigned x)
{
  while (x > 9)
  {  
    if ((x / 10) % 10 <= x % 10) return false;
    x /= 10;
  }
  return true;
}
 
#define BOOLSTR(b) ((b) ? "YES" : "NO ")
 
int main(void)
{
  unsigned values[] = {12345, 987654, 35679, 35479, 1, 10, 0};
  for (unsigned *n = values; *n; n++)
    printf("# %10u --> increasing: %s | decreasing: %s\n", 
           *n, BOOLSTR(is_increasing(*n)), BOOLSTR(is_decreasing(*n))); 
  return 0;
}
2
706 / 528 / 301
Регистрация: 24.02.2017
Сообщений: 1,881
25.03.2022, 10:24 7
Цитата Сообщение от Vendetta2002 Посмотреть сообщение
N целый тип
Verevkin, целый тип может иметь и отрицательное значение. Лучше объявлять int
0
Продавец времени
7130 / 4006 / 924
Регистрация: 12.03.2015
Сообщений: 18,848
25.03.2022, 10:26 8
Цитата Сообщение от повар1 Посмотреть сообщение
Verevkin, целый тип может иметь и отрицательное значение. Лучше объявлять int
Дано натуральное число N. Верно ли утверждение, что цифры в этом числе  образуют возрастающую последовательность
1
0 / 0 / 0
Регистрация: 19.09.2020
Сообщений: 49
25.03.2022, 10:44  [ТС] 9
А можете еще с одним помочь? Я там тему создал.
То не могу разобраться..
0
706 / 528 / 301
Регистрация: 24.02.2017
Сообщений: 1,881
25.03.2022, 11:31 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main(void)
{
 unsigned values[] = {12345, 987654, 35679, 35479, 1, 10, 0};
  for (unsigned *n = values; *n; n++){
      cout<<*n<<"  ";
      while(*n){
           if(*n%10<*n/10%10)break;
          *n/=10;
         }
      *n==0 ? cout<<"yes\n" : cout<<"no\n";
      }
      return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2022, 11:31
Помогаю со студенческими работами здесь

Верно ли, что цифры числа образуют строго возрастающую последовательность
Составить программу с ветвлением, печатающее слово ‘ДА’, если указанное высказывание является...

Верно ли утверждение, что в этом числе ровно две одинаковые цифры.
Дано число n. Верно ли утверждение, что в этом числе ровно две одинаковые цифры. Как я понял должно...

Верно ли, что цифры данного числа образуют строго возрастающую последовательность
Помогите составить программу, печатающую значение true, если указанное высказывание является...

Верно ли, что цифры данного числа образуют возрастающую или убывающую последовательность
Задачи на использование логических операторов, операторов отношения. Во всех заданиях данной группы...

Дано натуральное число. верно ли, что в данном числе нет данной цифры А (цифру А вводить с клавиатуры)
Пожалуйста решите задачу на си. Дано натуральное число. верно ли, что в данном числе нет данной...

Верно ли, что цифры данного трехзначного числа образуют возрастающую или убывающую последовательность
Суть проблемы:Если ввести четырехзначное число,то программа выведет всё равно True или False.И...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru