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

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

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

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

16.06.2013, 23:49. Просмотров 803. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 23:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) (C++):

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

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

Рекурсивные функции. Ввести последовательность чисел и вывести их в обратной последовательности. - C++
1) Ввести последовательность чисел (окончание ввода – 0) и вывести их в обратной последо-вательности.

Ввести последовательность чисел, окончание ввода число 1000, определить количество отрицательных и минимум - Pascal
2) Пользователь вводит последовательность чисел, окончание ввода число 1000, определить количество отрицательных чисел и минимум.

Ввести последовательность чисел(окончания ввода – 0) и вывести их в обратной последовательности. Входные данные взять из текстового файла - Turbo Pascal
помогите решит

дана последовательность чисел.Окончание последовательности 9999 - Pascal ABC
дана последовательность чисел.Окончание последовательности 9999(9999не входит).определить первое число больше 100 и его номер.если такого...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
17.06.2013, 00:21 #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");
}
1
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
17.06.2013, 00:39  [ТС] #3
да ,только есть условие : Ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности
0
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
17.06.2013, 00:55 #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 секунд
немного криво )))
1
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16697 / 6623 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
17.06.2013, 00:58 #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];
}
проверить нет возможности..
1
Croessmah
Эксперт CЭксперт С++
13214 / 7486 / 842
Регистрация: 27.09.2012
Сообщений: 18,402
Записей в блоге: 3
Завершенные тесты: 1
17.06.2013, 08:26 #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();
}
1
KOPOJI
17.06.2013, 09:32     Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности)
  #7

Не по теме:

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

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 09:32
Привет! Вот еще темы с ответами:

Ввести 5 дробных чисел и после ввода каждого числа вывести среднее арифметическое введённой части последовательности - Turbo Pascal
Ввести 5 дробных чисел и после ввода каждого числа вывести среднее арифметическое введённой части последовательности.

С клавиатуры вводится последовательность дробных чисел(окончание ввода-0) найти сумму всех чисел,количество отрицательных и количество положительных. - Pascal
В общем,ребята. Помогите написать код,буду очень признателен. С клавиатуры вводится последовательность дробных чисел(окончание ввода-0)...

Ввести последовательность чисел, конец ввода является число 0 - Visual Basic
Помоги, пожалуйста, постоянно какие-то ошибки: Запросить послед-ть произвол чисел,признаком конца ввода явл-ся 0 и с помощью MsgBox...

Задано N количество чисел последовательности и последовательность из N чисел. Найти и вывести произведение этих чисел и первое положительно число - Pascal
Задано N количество чисел последовательности и последовательность из N чисел. Найти и вывести произведение этих чисел и первое положительно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.06.2013, 09:32
Ответ Создать тему
Опции темы

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