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

Rekurencja-wyświetlanie liczb z parametrem oznaczającym wysokośćpiramidy

VPS Starter Arubacloud
0 głosów
999 wizyt
pytanie zadane 5 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)

Witam

jestem studentem pierwszego roku informatyki.Ostatnio na laboratoriach z algorytmów i struktur danych poruszyliśmy tematykę rekurencji i otrzymaliśmy zadanie o treści:

Napisz program wykorzystując funkcję rekurencyjną wyświetlający poniży rysunek.Funkcje musimy wywołać z parametrem oznaczającym wysokość piramidy.

1

12

123

1234

12345

Problem polega na tym ,że  kompletnie nie mogę zrozumieć na czym polega ta rekurencja. Zacząłem robić to zadanie z kolegą i utknęliśmy na etapie kiedy program wyświetla 1 i nie wiemy co dalej. Czy ktoś mógłby mi pomóc zrobić to zadanie i wytłumaczyć dokładnie  na czym polega ta  rekurencja  albo chociaż dać jakieś linki do dobrych materiałów?.Dodam jeszcze , że program piszemy w języku C a nie C++.Proszę o szybką odpowiedź.Pozdrawiam

#include <stdio.h>
#include <stdlib.h>

void wypisz (n)
{
    if(n=1)
    {
        printf("%d",n);
    }
}
int main(void)
{
    wypisz(1);
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 5 listopada 2017 przez Michał Muzyka Pasjonat (24,080 p.)
wybrane 5 listopada 2017 przez mn130496
 
Najlepsza

Funkcja rekurencyjna to funkcja wywołująca samą siebie w celu wykonania wyniku.

https://www.youtube.com/watch?v=jNi_X5bvmQ0 polecam film pana Zelenta, nie waże czy to c++ czy c, bo rekursja to ogólne zagadnienie a nie element danego języka.

Tutaj będzie polegała na tym że funkcja wypisz do wywołania siebie dla 5 wywoła siebie dla 4 potem dla 3 dla 2 i na końcu dla 1 stworzy się właśnie taka piramida. Z czego dla 1 wyświetli 1 wiersz, dla 2 drugi wiersz itd;

to zadanie będzie wyglądało tak

#include <stdio.h>
#include <stdlib.h>

void wypisz(int n)
{
	if (n == 0)return;
	wypisz(n - 1);
	for(int i=1; i!=n+1; ++i)
		printf("%d", i);

	printf("%c", '\n');
}
int main(void)
{
	wypisz(5);
	system("pause");
    return 0;
}

 

komentarz 5 listopada 2017 przez mn130496 Gaduła (3,530 p.)
Dziękuję ci bardzo za pomoc.Pozdrawiam

Podobne pytania

0 głosów
0 odpowiedzi 895 wizyt
pytanie zadane 21 listopada 2017 w C i C++ przez Tomek Wilnowski Użytkownik (610 p.)
0 głosów
1 odpowiedź 1,542 wizyt
pytanie zadane 3 października 2016 w C i C++ przez Don Inferno Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 759 wizyt
pytanie zadane 2 października 2020 w C i C++ przez madbull Początkujący (270 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...