Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/75: Рейтинг темы: голосов - 75, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31

Разворот последовательности. Рекурсия

23.06.2020, 17:46. Показов 16857. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый вечер)
Дана последовательность целых чисел, заканчивающаяся числом 0. Выведите эту последовательность в обратном порядке. Пример (стандартный ввод): 1 2 3 0
(стандартный вывод): 0 3 2 1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.06.2020, 17:46
Ответы с готовыми решениями:

Разворот последовательности
Дана последовательность целых чисел, заканчивающаяся числом 0. Выведите эту последовательность в обратном порядке. Формат входных...

Рекурсия, максимум последовательности
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите наибольшее значение числа в этой...

Рекурсия n-ый член последовательности
Написать функцию вы числящую рекурсивно n-ый член последовательности {f}_{0}={f}_{1}=1; {f}_{n}=\frac{{f}_{n-2}}{2}+2{f}_{n-1} вот...

12
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
23.06.2020, 18:18
Лучший ответ Сообщение было отмечено Maestro768 как решение

Решение

Maestro768,
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>
#include <vector>
#include <algorithm>
using namespace std;
 
int main()
{
    vector<int>arr; arr.reserve(256);
    int tmp;
    while(cin>>tmp) 
    {
    
     arr.emplace_back(tmp);
     if(tmp==0) break;
    }
    reverse(arr.begin(),arr.end());
    for(auto&i:arr){cout<<i<<" ";}
    cout<<endl;
    
    
    return 0;
}
2
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31
23.06.2020, 18:36  [ТС]
VLaDoS_2001a, извиняюсь что сразу не уточнил. Для выполнение этой задачи требуется Рекурсия, а так программа отлично работает.
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
23.06.2020, 18:50
Лучший ответ Сообщение было отмечено Maestro768 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
void func()
{
    int a;
    cin >> a;
    if (a)
        func();
    cout << a << " ";
}
 
int main()
{
    func();
}
0
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31
23.06.2020, 19:01  [ТС]
Bleach163, вроде всё работает, а итог:
Итог
Неправильный ответ (1)
Очки
0 из 50
0
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
23.06.2020, 20:38
Maestro768,
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
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
void foo(vector<int>&arr,int size)
{
    
    
    if(size!=-1 )
    {   
    cout<<arr[size]<<" ";
    return foo (arr,size-1);
    }
    return;
    
}
 
int main()
{
    vector<int>arr; arr.reserve(256);
    int tmp;
    while(cin>>tmp) 
    {
    
     arr.emplace_back(tmp);
     if(tmp==0) break;
    }
   foo(arr,arr.size()-1);
    
    
    return 0;
}
0
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31
23.06.2020, 20:57  [ТС]
VLaDoS_2001a, Ошибка компиляции: solution.cpp: In function 'int main()':
solution.cpp:26:10: error: 'class std::vector<int>' has no member named 'emplace_back'
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
23.06.2020, 21:39
Цитата Сообщение от Maestro768 Посмотреть сообщение
'class std::vector<int>' has no member named 'emplace_back'
Функция появилась в С++14 вроде бы, попробуйте push_back
0
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31
23.06.2020, 21:58  [ТС]
Bleach163, изменил на push_back.
Итог
Неправильный ответ (1)
Очки
0 из 50
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
23.06.2020, 22:23
Можно узнать где вы тестируете решение?
0
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31
23.06.2020, 23:34  [ТС]
Bleach163, http://cs.mf.grsu.by < - тут)
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
24.06.2020, 00:13
Что ж, стоило попытаться.
У меня осталось две мысли:
1. Задание всё же содержит какие-то дополнительные условия
2. Это всё лишний пробел в конце/отсутствие перехода на следующую строку

Ну чисто на случай если это всё-таки второе... Но если нет, то я не знаю чем вам помочь.
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;
 
void func()
{
    int a;
    cin >> a;
    if (!a)
        cout << a;
    else
    {
        func();
        cout << " " << a;
    }
}
 
int main()
{
    func();
    // cout << endl; // Раскомментировать ради перехода на новую строку
}
1
0 / 0 / 0
Регистрация: 23.06.2020
Сообщений: 31
24.06.2020, 10:46  [ТС]
Bleach163, Спасибо. Всё ок)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2020, 10:46
Помогаю со студенческими работами здесь

Разворот последовательности
Помогите, пжл. Дается последовательность, к-я заканчивается нулем. Нужно вывести эту последовательность, включая нуль. def...

Разворот введённой последовательности
Дана последовательность целых чисел, заканчивающаяся числом 0. Выведите эту последовательность в обратном порядке. При решении этой...

Разворот последовательности чисел в Python, через рекурсию
Добрый день уважаемые форумчане! Стоит следующая задача.Дана последовательность целых чисел, заканчивающаяся числом 0. Выведите эту...

Рекурсия: определить n-ый элемент последовательности, где каждый следующий член равен сумме квадратов всех предыдущих
1. Определить n-й член последовательности {a}_{i}, в которой каждый следующий член равен сумме квадратов всех предыдущих. {a}_{i}=1....

Рекурсия - n-й член последовательности
Условие задачи на картинки. Не могу разобраться с самим алгоритмом как ее сделать. С рекурсиями вообще не работал а тут именно через...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru