• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z rozwiązaniem zadania metodą rekurencyjną C++

Object Storage Arubacloud
0 głosów
973 wizyt
pytanie zadane 21 maja 2018 w C i C++ przez Azalich Nowicjusz (140 p.)

Witam serdecznie!

Mam problem z rozwiązaniem poniższego zadania w języku C++ metodą rekurencyjną.

Zadanie:

Dla zadanego niewielkiego n naturalnego dodatniego narysuj trójkąt prostokątny o boku n.

Jest haczyk. Nie wolno używać następujących fraz: while, for, goto, define.

Wejście:

Jedna liczba n.

Wyjście:

Trójkąt prostokątny składający się z gwiazdek.

Przykład:

Wejście:
3

Wyjście:
***
**
*
komentarz 21 maja 2018 przez monika90 Pasjonat (22,940 p.)
for nie można, a std::for_each?
komentarz 21 maja 2018 przez niezalogowany
edycja 21 maja 2018

monika90 domyślam się (treść zadania jest prosto ze SPOJa) for_each też ma w sobie frazę for.

1 odpowiedź

0 głosów
odpowiedź 21 maja 2018 przez niezalogowany

Podziel sobie zadania na dwie funkcje. Jedną rysującą linie, a drugą z niej korzystającą. Skupię się na tej pierwszej, bo drugą można zrobić bardzo podobnie. 

Funkcja rysująca linie niech będzie mieć jeden parametr np length. W ciele wypisuj '*' raz, dekrementuj length i jeżeli length będzie różne od 0 wywołaj rekurencyjnie całą funkcję ze zmienioną wartością length. Dla else (czyli przy ostatnim rekurencyjnym wywołaniu) można wysłać znak nowej linii. Dalej powinieneś sobie poradzić. 

PS. Do rysowania linii można też wykorzystać pewną własność std::string (będzie krócej i łatwiej), ale polecam zrobić oba sposoby. Lepiej zrozumiesz jak działa rekurencja ;)

std::cout << std::string(length, '*') << "\n";

Podobne pytania

0 głosów
1 odpowiedź 410 wizyt
0 głosów
1 odpowiedź 426 wizyt
pytanie zadane 28 maja 2018 w C i C++ przez TenNowy Nowicjusz (210 p.)
0 głosów
1 odpowiedź 915 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...