Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2017, 20:09   #1
Alim-
Новичок
Джуниор
 
Регистрация: 03.01.2017
Сообщений: 1
По умолчанию Вывести цифры числа по отдельности. Выводятся в обратном порядке

Здрст. Ребята вот такое задание.

Write a program that prompts the user to input an integer and then outputs
both the individual digits of the number and the sum of the digits. For
example, it should output the individual digits of 3456 as 3 4 5 6, output
the individual digits of 8030 as 8 0 3 0, output the individual digits of
2345526 as 2 3 4 5 5 2 6, output the individual digits of 4000 as 4 0 0 0,
and output the individual digits of -2345 as 2 3 4 5.

Код:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int x, y, z;
y=0;
cout<<"Input any number, I will take apart its figures:::"<<endl;

cin>>x;
while (!(x==0))
{

y=x%10;

x=x/10;

cout<<y<<" ";

}
    return 0;
}

и вот мои код. На счет суммирование проблем нет. мне не ето интересно. просто цифры набераютса обратном порядке. Как мне перевернут???

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
И не давайте темам бессмысленные названия типа "Помогите плиз"

Последний раз редактировалось Alex11223; 03.01.2017 в 21:23.
Alim- вне форума Ответить с цитированием
Старый 03.01.2017, 21:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Alim- Посмотреть сообщение
росто цифры набераютса обратном порядке. Как мне перевернут???
по разному можно.
первый способ. завести массив, цифры записывать в массив, потом вывести содержимое массива в обратном порядке.

способ второй.
использовать рекурсию (написать рекурсивную функцию).

свособ третий (не очень "честный") - перевести число в строку,
потом выводить символы строки по одному, с пробелами.

наверняка есть и ещё способы...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.01.2017, 21:57   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Зная разрядность числа можно двигаться слева-направо, пропуская незначащие нули. Примерно так:
Код:
	int x;
	cin>>x;
	x = x < 0 ? -x : x;
	bool flag = false;
	for (int d = 1000000000; d > 0; d /= 10) {
		int dig = x / d % 10;
		if (dig > 0 || flag) {
			cout<<dig<<" ";
			flag = true;
		}
	}
	cout<<endl;

Последний раз редактировалось Arigato; 03.01.2017 в 21:59.
Arigato на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользователь должен ввести 3 числа,а на экран выводятся эти числа в порядке убывания KAyu Visual C++ 2 01.11.2015 18:29
как вывести массив в обратном порядке С++ stpategImws Помощь студентам 1 02.12.2012 19:23
Цифры заданного натурального числа запишите в обратном порядке Radius100 Помощь студентам 2 09.02.2012 11:39
Вывести числа в обратном порядке asmcc Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 20.02.2010 11:46