Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
10 / 7 / 3
Регистрация: 14.12.2018
Сообщений: 82
1

Как повернуть рекурсию?

04.04.2019, 15:06. Показов 1311. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, есть условие:
нужно создать рекурсивную подпрограмму, которая будет рисовать пирамиду из введенного символа.
То есть, символ *, и рисуется пирамида:
*
**
***
****
*****

Долго перестраивал и пришел к решению, вот только по законам рекурсии, мне выводит обратный результат.
Вместо пирамиды выше в консоль выводится:
*****
****
***
**
*

Вот код:
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
#include <iostream> // standart input-output functions.
#include <iomanip>
 
using namespace std;
int count = 1;
void PIRAMIDKA(int N, char S)
{
    if(N == 1) cout << S;
    else
    {
        for(int i = 0; i < N; i++)
        {
            cout << S;
        }
        cout << endl;
        PIRAMIDKA(N - 1, S);
    }
}
int main()
{
    system("color F"); // changing text-color in console.
    setlocale(LC_ALL, "RUS");
    
    int N;
    char symbol;
    cout << "> Введите количество строк: "; cin >> N;
        cout << "> Введите символ для построения пирамиды: "; cin >> symbol;
        PIRAMIDKA(N, symbol);
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2019, 15:06
Ответы с готовыми решениями:

Переделать рекурсию по аргументу в рекурсию по значению
эта рекурсия по аргументу, заменяющая Y на число, равное глубине вложения Y в список List,...

Как повернуть TImage
Как повернуть TImage?

Как повернуть треугольник?
Gl.glBegin(Gl.GL_TRIANGLES); Gl.glVertex2f(X1, Y1); ...

Как повернуть вектор?
Есть 2 вектора выходящих из начала координат и заданных косинусами вращения: A=(-1, 0, 0) и...

6
 Аватар для qppq
145 / 89 / 23
Регистрация: 31.08.2016
Сообщений: 780
Записей в блоге: 2
04.04.2019, 15:18 2
упс
1
 Аватар для LegionK
393 / 263 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
04.04.2019, 15:21 3
Лучший ответ Сообщение было отмечено adextrometh как решение

Решение

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
#include <iostream> // standart input-output functions.
#include <iomanip>
 
using namespace std;
int count = 1;
void PIRAMIDKA(int N, char S)
{
    if(N != 1)PIRAMIDKA(N-1,S);
    else {
        cout << S << "\n";
        return;
    }
    for(int i = 0;i<N;++i)cout << S;
    cout << "\n";
}
int main()
{
    system("color F"); // changing text-color in console.
    setlocale(LC_ALL, "RUS");
    
    int N;
    char symbol;
    //cout << "> Введите количество строк: "; 
    cin >> N;
    //  cout << "> Введите символ для построения пирамиды: "; 
    cin >> symbol;
        PIRAMIDKA(N, symbol);
    return 0;
}
1
1377 / 521 / 72
Регистрация: 21.07.2015
Сообщений: 1,304
04.04.2019, 15:43 4
Цитата Сообщение от adextrometh Посмотреть сообщение
cout << S;
добавь endl
Цитата Сообщение от adextrometh Посмотреть сообщение
PIRAMIDKA(N - 1, S);
перенеси в начало else
0
10 / 7 / 3
Регистрация: 14.12.2018
Сообщений: 82
04.04.2019, 16:26  [ТС] 5
shmkv, спасибо, не помогло.

LegionK, да, безупречно, благодарю.
0
1377 / 521 / 72
Регистрация: 21.07.2015
Сообщений: 1,304
04.04.2019, 16:43 6
Цитата Сообщение от adextrometh Посмотреть сообщение
shmkv, спасибо, не помогло.
Да неужели?
https://ideone.com/TPYHxd
1
10 / 7 / 3
Регистрация: 14.12.2018
Сообщений: 82
04.04.2019, 17:27  [ТС] 7
shmkv, почему-то отобразились пустые строки в консоли в первый раз.
Сейчас все хорошо, спасибо, + дал.
0
04.04.2019, 17:27
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2019, 17:27
Помогаю со студенческими работами здесь

Как повернуть эллипс
Нашёл формулки эллипса. x:=x0+R*Cos(a) y:=y0+R*Sin(a) x0, y0, R: integer; a: real; Как...

Как повернуть картинку?
Как повернуть картинку в Delphi?

Как повернуть label на 90°?
Здравствуйте, подскажите пожалуйста как повернуть label на 90° или как писать текст вертикально в...

Как повернуть матрицу?
как повернуть матрицу (НЕ КВАДРАТНУЮ) на 180 и на 270 градусов в mathad??


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru