Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Antoja

Строка: Распечатать на экране по отдельности все цифры заданного числа.

29.06.2012, 10:11. Показов 3081. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задано целое положительное число n. Распечатать на экране по отдельности все его цифры. Например, дано 1253, распечатываем:
1
2
5
3
Как это сделать?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2012, 10:11
Ответы с готовыми решениями:

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

Распечатать все простые сдвоенные числа меньшие заданного
Здравствуйте! Помогите написать программу Если p и q - простые числа и q = p+2, то они называются простыми сдвоенными числами или...

Строка: Разделите точками цифры заданного числа группами по три, начиная справа.
Помогите,пожалуйста,с программами для этих задач 1)Разделите точками цифры этого числа группами по три , начиная справа. Программа...

14
43 / 43 / 13
Регистрация: 17.05.2011
Сообщений: 162
29.06.2012, 10:20
В программе обьяви как строку, а не как целое число и потом по символьно выведи))
0
145 / 67 / 14
Регистрация: 30.12.2011
Сообщений: 137
29.06.2012, 10:23
Antoja,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
using namespace std;
 
int main()
{
    vector<int> vInt;
    int value = 1253, i = 0;
 
    while (value)
    {
        i = value % 10;
        vInt.push_back(i);
        value /= 10;
    }
 
    copy(vInt.rbegin(), vInt.rend(), ostream_iterator<int>(cout, "\n"));
 
    return 0;
}
или как вариант

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstdio>
 
using namespace std;
 
int main()
{
    char symb;
 
    while((symb = getchar()) != EOF)
    {
        putchar(symb);
        cout << endl;
    }
 
    return 0;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.06.2012, 10:26
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
 
void print_digits(const int value)
{
   size_t count = static_cast<size_t>(log10(value));
   for (int i = count; i >= 0; --i)
   {
      std::cout << static_cast<int>(value / pow(10, i)) % 10 <<  std::endl;
   }
}
 
int main()
{
   print_digits(12345);
}
http://liveworkspace.org/code/... 11c8cf9119
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
29.06.2012, 10:31
Цитата Сообщение от Peperovich Посмотреть сообщение
В программе обьяви как строку, а не как целое число и потом по символьно выведи))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include "string"
 
using namespace std;
 
int main()
{
    string n;
    cout << "please, enter n = ";
    cin >> n;
    for(int i = 0; i < n.length(); i++)
    {
        cout << n[i] << endl;
    }
    return 0;
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
29.06.2012, 10:32
Цитата Сообщение от Antoja Посмотреть сообщение
Задано целое положительное число n. Распечатать на экране по отдельности все его цифры. Например, дано 1253, распечатываем:
1
2
5
3
Как это сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    int num;
    cout<<"Enter number : ";
    cin>>num;
    do
    {
        cout<<(num % 10)<<endl;
    }
    while(0  < (num = num / 10));
    system("pause");
    return 0;
}

Не по теме:

PS:Если честно тошнит уже от подобного рода задач, включайте поиск - это задание уже 1000-чу раз мелькало на форуме!

Миниатюры
Строка: Распечатать на экране по отдельности все цифры заданного числа.  
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.06.2012, 10:44
-=ЮрА=-, Решение не соответствует условию)
0
88 / 67 / 37
Регистрация: 28.06.2012
Сообщений: 161
29.06.2012, 10:48
-=ЮрА=-, выводит код твой в обратном порядке. Прямой порядок нужен.
0
Antoja
29.06.2012, 11:18
Спасибо вам огромное!!!!)
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
29.06.2012, 15:36
В заключение приведу что-либо отличное от предложенных здесь вариантов решений. Ниже безитераторный, безмассивный и безстепенной вариант печати разрядов числа в обратном и прямом порядке.
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>
using namespace std;
 
int main()
{
    cout<<"Enter number : ";
    int num;cin>>num;
    int buf = 0;
    cout<<"digits int number in reverse order\n";
    do
    {
        buf = buf*10 + (num % 10);
        cout<<(buf % 10)<<endl;
    }
    while(0  < (num = num / 10));
    cout<<"digits int number in forward order\n";
    do
    {
        cout<<(buf % 10)<<endl;
    }
    while(0  < (buf = buf / 10));
    system("pause");
    return 0;
}
Миниатюры
Строка: Распечатать на экране по отдельности все цифры заданного числа.  
2
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
29.06.2012, 15:49
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <string>
 
 
void print_digits(int number) {
   std::ostringstream oss;
   oss << number;
   std::string const& str = oss.str();
   std::copy(str.begin(), str.end(), std::ostream_iterator<std::string::value_type>(std::cout, "\n"));
}
 
 
int main() {
   print_digits(12345);
}
http://liveworkspace.org/code/... 8d3ac08cc4
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.06.2012, 18:22
Кстати, тоже вариант.

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
 
enum order
{
   FORWARD,
   REVERSAL
};
 
template<int N>
struct DigitsCount
{
   static constexpr int value = 1 + DigitsCount<N / 10>::value;
};
 
template<>
struct DigitsCount<0>
{
   static constexpr int value = 0;
};
 
template<int N, int Count>
struct CurrentDigit
{
   static constexpr int value = CurrentDigit<N / 10, Count - 1>::value;
};
 
template<int N>
struct CurrentDigit<N, 1>
{
   static constexpr int value = N % 10;
};
 
template<int N, int Count, int Order>
struct PrintDigits
{
   static void apply();
};
 
template<int N, int Count>
struct PrintDigits<N, Count, FORWARD>
{
   static void apply()
   {
      std::cout << CurrentDigit<N, Count>::value;
      PrintDigits<N, Count - 1, FORWARD>::apply();
   }
};
 
template<int N>
struct PrintDigits<N, 0, FORWARD>
{
   static void apply() { std::cout << std::endl; }
};
 
template<int N>
struct PrintDigits<N, 0, REVERSAL>
{
   static void apply()
   {
      std::cout << N % 10;
      PrintDigits<N / 10, 0, REVERSAL>::apply();
   }
};
 
template<>
struct PrintDigits<0, 0, REVERSAL>
{
   static void apply() { std::cout << std::endl; }
};
 
template<int N>
void print_digits()
{
   PrintDigits<N, DigitsCount<N>::value, FORWARD>::apply();
}
 
template<int N>
void print_digits_reversal()
{
   PrintDigits<N, 0, REVERSAL>::apply();
}
 
int main()
{
   constexpr int value = 123456789;
   print_digits<value>();
   print_digits_reversal<value>();
}
http://liveworkspace.org/code/... e6a8da280e
2
88 / 67 / 37
Регистрация: 28.06.2012
Сообщений: 161
29.06.2012, 18:30
ForEveR, стоит ли комбайном решать простую задачу?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.06.2012, 18:38
ЛетающийЕнот, Нет, я ведь не предлагаю его использовать) Просто захотелось вспомнить метапрограммирование, вот и написал вариант.
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
29.06.2012, 20:56
Думаю чтобы полностью исчерпать задание ещё уместно использовать возможности двусвязного списка
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>
using namespace std;
 
struct Node
{
    int digit;
    Node * next;
    Node * prev;
};
 
int main()
{
    cout<<"Enter number : ";
    int num;cin>>num;
    Node * beg = new Node;
    Node * ptr = beg;
    Node * end = ptr;
    beg->prev  = NULL;
    for(ptr->digit = (num % 10); 0  < (num = num / 10); ptr->digit = (num % 10))
    {
        ptr->next = new Node;
        (ptr->next)->prev = ptr;
        ptr = ptr->next;
        ptr->next = NULL;
        end       = ptr;
    }
    cout<<"digits int number in forward order\n";
    for(ptr = end; ptr != NULL; ptr = ptr->prev)
        cout<<ptr->digit<<endl;
    cout<<"digits int number in reverse order\n";
    for(ptr = beg; ptr != NULL; ptr = ptr->next)
        cout<<ptr->digit<<endl;
    system("pause");
    return 0;
}
Миниатюры
Строка: Распечатать на экране по отдельности все цифры заданного числа.  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2012, 20:56
Помогаю со студенческими работами здесь

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

Замените все отрицательные числа на свои модули и напечатайте цифры на экране
Введите 10 отрицательных и 10 положительных цифр на клавиатуре.Замените все отрицательные числа на свои модули и напечатайте цифры на экране

Найти все числа, не превосходящие заданного N (10<N<10000), которые делятся на все свои цифры.
как решить следующую задачу? Задача Д1. Найти все числа, не превосходящие заданного N (10&lt;N&lt;10000), которые делятся на все свои...

Для заданного n, кратного 11, найти все числа, в десятичной записи которых использованы все десятичные цифры
Для заданного n, кратного 11, найти все числа, в десятичной записи которых использованы все десятичные цифры.

напечатать все цифры заданного числа
Помогите пожалуйста! Напишите программу которая напечатает все цифры заданного числа по одной в каждой строке начиная с последней...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru