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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2012, 15:40   #1
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию C++ записать цифрами число в обратном порядке

Мне нужно написать программу без использования массивов, с применением только циклов. Написать такую же с известным количеством цифр в числе (например, с 3х-значным числом) для меня не составило труда. Помогите написать программу в общем виде.
Код:
// По заданному натуральному числу N получить число M, записанное цифрами исходного числа, взятыми в обратном порядке.

#include<iostream>
using namespace std;

int main()
{
	setlocale(0, "");
	int n;  // заданное число
	int n1;  // число после перестановки цифр
	cout << "Введите натуральное число  " << endl;
	cin >> n;

	int w=n; 
	int d, k; 
	int f;
	k=w%10;
	d=w%100/10;
	f=w/100;
	if (w < 100 || w > 999) 
		cout << "число не трехзначное"; 
	else  
		cout <<k<<d<<f<< endl;

	system("pause");
	return 0;
}
Anya She вне форума Ответить с цитированием
Старый 18.12.2012, 15:46   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Взять исходное число, в цикле последовательно получать его цифры с конца. Число-приёмник домножать на 10 и прибавлять эти цифры. Когда исходное число станет равно 0, число-приёмник станет исходным числом, записанным десятичными цифрами в обратном порядке. Что делать, если исходное число кончалось на 0, решайте сами.
Abstraction вне форума Ответить с цитированием
Старый 18.12.2012, 17:11   #3
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию

ну вот... если так.. но это не работает..
Код:
#include<iostream>
using namespace std;

int main()
{
	setlocale(0, "");
	int n;  // заданное число
	cout << "Введите натуральное число  " << endl;
	cin >> n;

	int s=n; 
	int d, k; 
	
	while(n!=0)
	{
		k=s%10; // последняя цифра
		d=d*10+k;
		s=s/10;
	}
	cout << s << endl;
	system("pause");
	return 0;
}
Anya She вне форума Ответить с цитированием
Старый 18.12.2012, 17:12   #4
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию

ну вот... если так.. но это не работает..
Код:
#include<iostream>
using namespace std;

int main()
{
	setlocale(0, "");
	int n;  // заданное число
	cout << "Введите натуральное число  " << endl;
	cin >> n;

	int s=n; 
	int d, k; 
	
	while(n!=0)
	{
		k=s%10; // последняя цифра
		d=d*10+k;
		s=s/10;
	}
	cout << s << endl;
	system("pause");
	return 0;
}
Anya She вне форума Ответить с цитированием
Старый 18.12.2012, 17:12   #5
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию

ну вот... если так.. но это не работает..
Код:
#include<iostream>
using namespace std;

int main()
{
	setlocale(0, "");
	int n;  // заданное число
	cout << "Введите натуральное число  " << endl;
	cin >> n;

	int s=n; 
	int d, k; 
	
	while(n!=0)
	{
		k=s%10; // последняя цифра
		d=d*10+k;
		s=s/10;
	}
	cout << s << endl;
	system("pause");
	return 0;
}
Anya She вне форума Ответить с цитированием
Старый 18.12.2012, 17:12   #6
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию

ну вот... если так.. но это не работает..
Код:
#include<iostream>
using namespace std;

int main()
{
	setlocale(0, "");
	int n;  // заданное число
	cout << "Введите натуральное число  " << endl;
	cin >> n;

	int s=n; 
	int d, k; 
	
	while(n!=0)
	{
		k=s%10; // последняя цифра
		d=d*10+k;
		s=s/10;
	}
	cout << s << endl;
	system("pause");
	return 0;
}
Anya She вне форума Ответить с цитированием
Старый 18.12.2012, 18:27   #7
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию

Всё, получилось!! )) тут всё гораздо проще.
Код:
// По заданному натуральному числу N получить число M, записанное цифрами исходного числа, взятыми в обратном порядке

#include <iostream>
using namespace std;

int main()
{
	setlocale(0,"");
	int n, k;
	cout << "Введите натуральное число:    " << endl;
	cin >> n;
	cout << "Новое число:  ";

	while(n!=0)     // пока число не станет равным нулю
	{
		k = n%10;   // получаем последнюю цифру числа
		n = n/10;   // отбрасываем её 
		cout << k;   // и выводим начиная с последней цифры
	}
	system("pause");
	return 0;
}
вот теперь не знаю как сделать если последняя цифра 0, как её не выводить...
Anya She вне форума Ответить с цитированием
Старый 18.12.2012, 19:25   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Код:
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int n, m = 0;
    cout << "Введите натуральное число:    " << endl;
    cin >> n;
    while(n!=0)     // пока число не станет равным нулю
    {
        m *= 10;
        m += n%10;
        n = n/10;
    }
    cout << "Новое число:  " << m << endl;
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 19.12.2012, 19:56   #9
Anya She
Пользователь
 
Аватар для Anya She
 
Регистрация: 06.11.2012
Сообщений: 40
По умолчанию

Спасибо. А можете пояснить, что за переменная m ?? какую функцию она несёт? что делает? Заранее благодарю
Anya She вне форума Ответить с цитированием
Старый 19.12.2012, 20:07   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Пожалуйста.
Цитата:
По заданному натуральному числу N получить число M, записанное цифрами исходного числа, взятыми в обратном порядке.
Что в задании сказано, ту функцию она и несет
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать в другой файл числа имеющегося файла в обратном порядке. pascal_luzer Паскаль, Turbo Pascal, PascalABC.NET 1 06.04.2012 23:14
Символьный файл F. Записать в файл G компоненты файла F в обратном порядке,сначала все нечетные, затем чётные. Паскаль. ICE_LADY Помощь студентам 0 08.06.2011 17:32
Последовательность из 6 символов (байтов), размещённых в сегменте данных, записать в обратном порядке Batyrin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 03.06.2011 15:48
заданную строку записать в обратном порядке Defa4ka Помощь студентам 1 13.05.2009 11:50
В обратном порядке mari.ha Общие вопросы C/C++ 7 25.12.2008 21:36