Skocz do zawartości

[cpp] Problem Z Wyświetleniem Wyniku


MitS

Rekomendowane odpowiedzi

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

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ę
×
×
  • Dodaj nową pozycję...