C++: Обернуть цифры в числе (для последовательности)

Новая задачка.

Вводится последовательность из n целых чисел. Для каждого числа последовательности вывести новое число, которое появляется после записи цифр числа в обратном порядке. Функцией оформить определение нового числа для заданного.

Примечание: Сделать нужно без применения динамической памяти.

Начинаем думать. Работа с цифрами в числе. и функция. Пригодится что-то вроде вот этой функции, только ее все же нужно переписать.

Полный код:

#include "stdafx.h"
#include <iostream>
#include <locale>

using namespace std;

long int reverse(long int number) 
{
    long int revNum = 0;
    while (number) 
    {
       revNum = revNum * 10 + number % 10;
       number /= 10;
    }
    return revNum;
}

int _tmain(int argc, _TCHAR* argv[])
{
	const int SIZE = 100;
	int arr [SIZE], n;

	setlocale(LC_ALL, "Russian");
	cout << "Введите n ";
	cin >> n;
	if (n > SIZE)
	{
		cout << "Ошибка! n больше максимального значения! Введите меньшее число n";
		system("pause");
		return -1;
	}
	// Ввод данных с клавиатуры. Заполнение массива. 
	for (int i = 0; i < n; i++)
	{
		cout << "Введите " << i << " элемент массива:";
		cin >> arr[i]; 
	}
	// Вывод исходного массива на экран
	for (int i = 0; i < n; i++)
	{
		cout << arr[i] << " ";
	}
	cout << endl;
	// Вывод измененного массива
	for (int i = 0; i < n; i++)
	{
		cout << reverse(arr[i]) << " ";
	}
	return 0;
}

А действия почти стандартные.

  1. Спрашиваем у пользователя n.
  2. Проверяем n. Если n > SIZE (у меня это максимум для количества элементов массива), то выходим из программы.
  3. Заполняем массив с клавиатуры
  4. Выводим исходный массив
  5. Выводим измененный (для этого для каждого элемента вызываем функцию)

Вывод программы

Скачать исходный код программы (Visual Studio 2012)

Добавить комментарий