Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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 в 22:23.
Alim- вне форума   Ответить с цитированием
Старый 03.01.2017, 22:30   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,623
Репутация: 5062
По умолчанию

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

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

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

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

Зная разрядность числа можно двигаться слева-направо, пропуская незначащие нули. Примерно так:
Код:

	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;

__________________
E-Mail: arigato.freelance@gmail.com

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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




13:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru