MitS Napisano Luty 11, 2008 Zgłoszenie Share Napisano Luty 11, 2008 Witam serdecznie ... przejdę od razu do rzeczy ... mam taki oto kawałek kodu: #include <iostream> using namespace std; void fun(int aaa[][7], int bbb[], int n){ bbb[n] = 1; cout << " " << n; for(int j=0; j<7; j++) if(aaa[n][j] != 0) if(bbb[j] == 0){ fun(aaa, bbb, j); cout << " [" << n << "]"; } } int main(int argc, char *argv[]){ int bbb[7] = {0}; int aaa[7][7] = {{0,1,1,0,1,0,0},{1,0,0,1,0,1,0},{1,0,0,0,0,0,1},{0,1,0,0,0,0,0},{1,0,0,0,0,1,0} ,{0,1,0,0,1,0,0},{0,0,1,0,0,0,0}}; fun(aaa, bbb, 0); return 0; } który daje mi na wynik takie liczby: 0 1 3 [1] 5 4 [5] [1] [0] 2 6 [2] [0] i tu niestety nie działa do końca dobrze, gdyż powinien mi dać taki wynik: 0 1 3 [1] 5 4 [0] 2 6 czyli tam gdzie są liczby w nawiasie kwadratowym to bierze ostatnią liczbę (a nie jak w tej chwili wszystkie), a ostatni obrót pętli pomija i nie wypisuje liczb. domyślam się że brakuje warunku w tym miejscu: if(bbb[j] == 0){ fun(aaa, bbb, j); if(??????) cout << " [" << n << "]"; } tylko nie zabardzo wiem jak zapisac ten warunek... Pomożecie ?? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się