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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
#1

Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) - C++

16.06.2013, 23:49. Просмотров 798. Ответов 6
Метки нет (Все метки)

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
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
const int n=100;
 
int arr[n] = {};
int i = 0;
int count = 0;
 
int InitArray(int i)
{
    std::cin>>arr[i];
    if(arr[i]==0)
        return count;
    count++;
    InitArray(i+1);
}
 
void ReverseOutPut(int i)
{
    std::cout<<arr[i]<<std::endl;
    if (i <= 0)
        return;
    ReverseOutPut(i-1);
}
 
int main(){
    int arr[n];
    setlocale (LC_ALL,"rus");
    cout << "Введите последовательность чисел:\n";
    count = InitArray(0);
    cout<<"\nВ обратном порядке: \n";
    ReverseOutPut(count);
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 23:49     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности)
Посмотрите здесь:

Ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности - C++
Ввести последовательность чисел (окончание ввода - 0) и вывести их в обратной последовательности. Это рекурсия , как будет правильно ее...

Ввести последовательность чисел и вывести их в обратной последовательности - C++
Ребята помогите кто может, потому что я не до конца понимаю, как это написать с помощью рекурсии: Ввести последовательность чисел (конец...

Рекурсия: вывести данную последовательность в обратном порядке - C++
Дано натуральное число N и последовательность N элементов. Вы должны вывести данную последовательность в обратном порядке. Ввод ...

Рекурсия: вывести последовательность символов до первой точки - C++
Даны символы s1, s2, ... Известно, что символ s1 отличен от точки и что среди s2, s3, ... имеется хотя бы одна точка. Вывести на экран...

ввести последовательность чисел - C++
ввести последовательность из n чисел с клавы, произведение этих чисел.

Рекурсия для вывода на экран последовательности чисел - C++
Дано натуральное число n. Разработать рекурсивную функцию, не возвращающую значений, для вывода на экран следующей последовательности...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newyork7776
347 / 340 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
17.06.2013, 00:21     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) #2
я так понял что юзер пишет числа в масив и нужно вивести масив только перевернуть эго?

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    int mas[100],n;
    cout << "Enter number = ";cin >> n;
    n++;
    for (int i=1;i<n;i++)
    {
        cout << "Enter " << i << " number = ";cin >> mas[i];
    }
    cout << "\nArray [start] = ";
    for (int i=1;i<n;i++)
        cout << mas[i] << " ";
    cout << "\nArray [finish] = ";
    n--;
       for (int i=n;i>0;i--)
           cout << mas[i] << " ";
       cout << "\n";
       system("pause");
}
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
17.06.2013, 00:39  [ТС]     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) #3
да ,только есть условие : Ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности
newyork7776
347 / 340 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
17.06.2013, 00:55     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) #4
ок сделаю

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
    int mas[1000],n;
    
    n=500;
    for (int i=1;i<n;i++)
    {
        cout << "Enter " << i << " number = ";cin >> mas[i];
        if (mas[i]==0) {n=i;break;}
    }
    cout << "\nArray [start] = ";
    for (int i=1;i<n;i++)
        cout << mas[i] << " ";
    cout << "\nArray [finish] = ";
    n--;
       for (int i=n;i>0;i--)
           cout << mas[i] << " ";
       cout << "\n";
       system("pause");
}
нормально или нет?

Добавлено через 40 секунд
немного криво )))
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16694 / 6620 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
17.06.2013, 00:58     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
const int MAX=100;
 
int main(void)
{
    int arr[MAX], i = 0, count = 0;
    do
    {
        std::cout << "Enter number";
        std::cin >> arr[i++];
        count++;
    }
    while(arr[i] != 0 || i == MAX);
    for (i = count; i > 0; i--)
        std::cout << arr[i];
}
проверить нет возможности..
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
17.06.2013, 08:26     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) #6

Не по теме:

Цитата Сообщение от Виkтория Посмотреть сообщение
Как спростить код ? рекурсия
Цитата Сообщение от Виkтория Посмотреть сообщение
Ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности
newyork7776, KOPOJI, а где рекурсия?


Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
void foo(){
    int n;
    std::cin>>n;
    if(n==0){
        std::cout<<"\n"<<n<<" ";
        return;
    }
    foo();
    std::cout<<n<<" ";
}
 
 
int main(){
    std::cout<<"Input numbers ->";
    foo();
}
KOPOJI
17.06.2013, 09:32     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности)
  #7

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
KOPOJI, а где рекурсия?
а я на заголовок не смотрел, смотрел на само задание..
там еще у меня условие в while неверное, надо
C++
1
while( arr[i] != 0 || i != (MAX - 1) );

Yandex
Объявления
17.06.2013, 09:32     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru