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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
#1

Разложение числа на цифры - C++

01.10.2012, 17:53. Просмотров 1452. Ответов 4
Метки нет (Все метки)

Проверить истинность высказывания: "Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность".
Интересует собственно разложение и его способы. Можно ли разложить в массив и потом уже работать с элементами? Или же проще присваивать делением?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 17:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разложение числа на цифры (C++):

Разложение на цифры числа - C++
Надо разложить на цифры число. Главная проблема в том, что число может быть вплоть до 10^100. Попытался написать код, но не могу понять...

Разложение числа на различные цифры - C++
хотелось бы, чтобы программа работала так : я ввожу число 16536. она в ответ мне выдает : 1 3 5 6. я пробовал тут. #include <iostream> ...

Разложение числа на цифры (где ошибка?) - C++
Надо разложить четырехзначное число на цифры. Вот мой код: #include <stdio.h> void main() { int N,a,b,c,d; ...

Замена последней цифры на значение наименьшей цифры в записи числа N - C++
Ошибка в задании Условие:Дано натуральное число N. Получить новое число М, которое образуется из числа N путем замены последней цифры на...

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

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

4
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
01.10.2012, 18:04 #2
Можно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main() 
{  
    int number = 123; 
    int st = 100; 
 
    while(number) 
    { 
        std::cout << number / st << " "; 
        number %= st; 
        st = st / 10; 
    } 
}
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.10.2012, 22:15 #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
#include <iostream>
using namespace std;
 
int main()
{
    int n;
    cout<<"n= ";
    cin>>n;
    bool fl1=true, fl2=true;
    int t1=10, t2=-1;
    while(n)
    {
        if(n%10<=t2)
            fl2=false;
        if(n%10>=t1)
            fl1=false;
        t2=t1=n%10;
        n/=10;
    }
    if(fl1)
        cout<<"Vozr"<<endl;
    if(fl2)
        cout<<"Ub"<<endl;
    return 0;
}
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
02.10.2012, 08:45 #4
Если нужна проверка на строгое возрастание или убывание, то можно так:
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
#include<iostream>
 
int Check(unsigned long n)
{
   unsigned char a, b, flag;
   if (n < 10)
      return 0;
   b = n % 10; n /= 10;
   a = n % 10; n /= 10;
   flag = (a < b);
   while (n && ((a < b) == flag))
   {
      b = a;
      a = n % 10;
      n /= 10;
   }
   return (a < b) == flag;
}
 
int main()
{
   std::cout << (Check(123) ? "yes" : "no");
   return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
02.10.2012, 12:28 #5
Цитата Сообщение от sergey_viper Посмотреть сообщение
"Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность".
sergey_viper, держи решение для 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
28
29
30
31
32
33
34
#include <iostream>
using namespace std;
 
int main()
{
    int num = 0;
    while(true)
    {
        //Защищённый ввод + проверка что число в диапазоне [100;999]
        do
        {
            cout<<"Enter num : ";
            if(!(cin>>num))
            {
                cin.clear();
                cin.sync();
                cout<<"Incorrect input"<<endl;
                num = 0;
            }
            else
            if((num < 99 || 999 < num))
                cout<<"Value must be in interval [100;999]"<<endl;
        }
        while((num < 99 || 999 < num));
        if(num % 10 < (num / 10) % 10 && (num / 10) % 10 < (num / 100) % 10)
            cout<<"Decreasing digit order"<<endl;
        else
        if(num % 10 > (num / 10) % 10 && (num / 10) % 10 > (num / 100) % 10)
            cout<<"Increasing digit order"<<endl;
        else
            cout<<"Digits of number not contain sequence"<<endl;
    }
    return 0;
}
0
Миниатюры
Разложение числа на цифры  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2012, 12:28
Привет! Вот еще темы с ответами:

Получить число М, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры - C++
Помогите составить программу, пожалуйста! Вот условие: Дано натуральное число N. Получить новое число М, которое образуется из числа...

Вывести сумму первой и третьей цифры и произведение второй и четвертой цифры числа, заданного пользователем - C++
Пользователь вводит 4-значное число - программа выводит сумму первой и третьей цифры и произведение второй и четвертой цифры.

В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. - C++
Помогите,пожалуйста! С++

Образовать новое число, путём замены последней цифры на значение наименьшей цифры в записи исходного числа - C++
Помогите доделать задачу, минимальную цифру нашёл, последнюю цифру нашёл, только осталось присвоить значение минимальной цифры последней,...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
02.10.2012, 12:28
Ответ Создать тему
Опции темы

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