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

pętla w pętli w pętli... i tak n razy

Object Storage Arubacloud
0 głosów
119 wizyt
pytanie zadane 30 marca 2020 w C i C++ przez Daaa22 Dyskutant (8,250 p.)

Powiedzmy że mam kod dla n = 1 taki

int wynik = 0;

    for( int i1 = 0; i1 < 11; i1++ )
        wynik += i1;

dla n = 2

int wynik = 0;
    for( int i1 = 0; i1 < 11; i1++ )
        for( int i2 = 0; i2 < i1; i2++ )
            wynik += i2;

dla n = 5

int wynik = 0;
    for( int i1 = 0; i1 < 11; i1++ )
        for( int i2 = 0; i2 < i1; i2++ )
            for( int i3 = 0; i3 < i2; i3++ )
                for( int i4 = 0; i4 < i3; i4++ )
                    for( int i5 = 0; i5 < i4; i5++ )
                        wynik += i5;

ogólnie każde kolejne n wykonuje taką pętle w środku pętli n - 1. Jak napisać program który bierze jakąś liczbe i wykonuje tyle pętli w sobie? Myślałem o stworzeniu jakiejś funkcji poza main() i w środku rekurencji, ale sprawy się komplikują przy bardziej złożonym kodzie który pisze (dużo wskaźników, tablic, klas abstrakcyjnych itd). Rekurencyjne wyrażenie lambda ma tu jakiś sens?

komentarz 30 marca 2020 przez Aisekai Nałogowiec (42,190 p.)
A jaki jest problem? Bo na pewno będzie się go dało dużo prościej rozwiązać niż dorzucanie kolejnej pętli wewnątrz innej.
komentarz 30 marca 2020 przez Daaa22 Dyskutant (8,250 p.)

Mamy takie zielone coś co wysyła sygnał przez czarne kable. pętla sprawdza pokolei który kabel jest podłączony do zielonego i jeżeli jest, to sprawdza gdzie drugi koniec kabla. Jeżeli drugi koniec kabla jest podłączony do szarego, to pętla sprawdza które kable są podłączone do tego szarego i jeżeli drugi koniec tego kabla jest podłączony do szarego to znowu pętla sprawdza gdzie kolejne kable prowadzą i tak aż sie skończą wszystkie niesprawdzone połączenia. A to żółte odbiera ten sygnał. Wszystkie te obiekty i kable należą do vector<Element*>element, a Element to abstrakcyjna klasa. I nie wiem jak napisać algorytm który sprawdza czy sygnał dociera do żółtego bez pętli w pętli w pętli itd

komentarz 30 marca 2020 przez Aisekai Nałogowiec (42,190 p.)
To po prostu znajdź najpierw wszystkie te zielone elementy i zacznij od nich przeglądać połączenia. Wtedy masz pewność, że elememt na pewno jest połączony. Jak już sprawdzisz czy przeglądałeś jakiś element? Albo sobie to zapamietuj gdzieś, albo rozważaj tylko te które są "włączone".
komentarz 30 marca 2020 przez Daaa22 Dyskutant (8,250 p.)
W klasie Element jest zmienna która to zapamiętuje, ale chyba już coś wymyśliłem
komentarz 30 marca 2020 przez Anonim666 Użytkownik (950 p.)
rekurencja- poczytaj o tym a napewno cos wymyslisz

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 163 wizyt
pytanie zadane 22 maja 2017 w JavaScript przez jaco Początkujący (290 p.)
+1 głos
3 odpowiedzi 775 wizyt
pytanie zadane 14 września 2015 w JavaScript przez fgrzesiek Nowicjusz (160 p.)
0 głosów
1 odpowiedź 2,402 wizyt

92,656 zapytań

141,546 odpowiedzi

319,987 komentarzy

62,025 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!

...