Форум программистов, компьютерный форум CyberForum.ru

Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
ОксанаКурбатова
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 7
29.04.2013, 22:16     Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке #1
Помогите разобраться

Задача такая:
разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке

Вот для обратного порядка есть функция reverse а для прямого что то такое есть? или только тупо нудно сравнивать соседние числа и менять их местами?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 22:16     Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке
Посмотрите здесь:

Разработать функцию, которая для заданного натурального числа N возвращает сумму его цифр C++
Рекурсивная процедура для вывода на экран цифр натурального числа в обратном порядке! C++
Написать рекурсивную функцию для вычисления суммы цифр натурального числа, введенного пользователем C++
C++ Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке
C++ Написать рекурсивную функцию вычисления количества цифр натурального числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
30.04.2013, 01:04     Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
int rek(int *arr,int n);
int main(void)
{
    int arr[5]={1,5,4,8,12},n=0;
    rek(arr,n);
    system("pause");
    return 0;
 }
int rek(int *arr,int n)
{
 
    if(arr[n]>arr[n+1])
        {
        int temp=arr[n];
        arr[n]=arr[n+1];
        arr[n+1]=temp;
        }
    while(n<3)
        return rek(arr,n+1);
    cout<<arr[0]<<arr[1]<<arr[2]<<arr[3]<<arr[4];
    return 0;
}
n-элемент с которого начинаем сортировку. использовал прямую рекурсию(ф-ия вызывает саму себя).
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
30.04.2013, 12:54     Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке #3
ОксанаКурбатова, цифры из числа извлекаются элементарно путём простого деления на 10. Допустим, есть число 123:
1) 123 / 10 = 12 и 3 в остатке(то, что нам и нужно)
2) 12 / 10 = 1 и 2 в остатке
3) 1 / 10 = 0 и 1 в остатке
Таким образом, мы получаем все цифры в обратном порядке. Вот как раз для того чтобы порядок был не обратным, а прямым вам и нужно проделать всё то же самое, но с использованием рекурсивной функции.
Дмитрий3241
 Аватар для Дмитрий3241
634 / 505 / 52
Регистрация: 07.07.2011
Сообщений: 1,226
30.04.2013, 13:38     Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке #4
Цитата Сообщение от ОксанаКурбатова Посмотреть сообщение
Вот для обратного порядка есть функция reverse а для прямого что то такое есть? или только тупо нудно сравнивать соседние числа и менять их местами?
А как вы хотите их сравнивать и менять местами?
И насколько мне известно функция reverse применяется к массивам.
Вот например функция которая выводит числа в обратном порядке:
C++
1
2
3
4
5
6
void rec( int num )
{   
    cout << num % 10;
    if ( num / 10 == 0 ) return;
    rec( num / 10 );
}
Yandex
Объявления
30.04.2013, 13:38     Разработать рекурсивную функцию для вывода на экран цифр натурального числа в прямом порядке
Ответ Создать тему
Опции темы

Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru