Новая задачка.
Вводится последовательность из n целых чисел. Для каждого числа последовательности вывести новое число, которое появляется после записи цифр числа в обратном порядке. Функцией оформить определение нового числа для заданного.
1 |
Примечание: Сделать нужно без применения динамической памяти. |
Начинаем думать. Работа с цифрами в числе. и функция. Пригодится что-то вроде вот этой функции, только ее все же нужно переписать.
Полный код:
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 |
#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; } |
А действия почти стандартные.
- Спрашиваем у пользователя n.
- Проверяем n. Если n > SIZE (у меня это максимум для количества элементов массива), то выходим из программы.
- Заполняем массив с клавиатуры
- Выводим исходный массив
- Выводим измененный (для этого для каждого элемента вызываем функцию)
Скачать исходный код программы (Visual Studio 2012)