[C++] Sprawdzanie dwóch tablic
Ostatnio zmodyfikowano 2013-12-27 18:36
maniek1310 Temat założony przez niniejszego użytkownika |
» 2013-12-27 18:13:18 Jeżeli zrobię tak jak napisałeś to sprawdza wszystko prawidłowo. Ale jak wypisze kombinacje jak porównuje to sprawdza nie poprawnie. Na próbę zmieniłem w pętlach for z 19 na 8 i efekt był taki : Kod : for( int i = 1; i <= 8; i++ ) { for( int j = 1; j <= 8; j++ ) { cout << i << " == " << j << endl; } } Wynik : 1 == 1 1 == 2 1 == 3 1 == 4 1 == 5 1 == 6 1 == 7 1 == 8 2 == 1 2 == 2 2 == 3 2 == 4 2 == 5 2 == 6 2 == 7 2 == 8 3 == 1 .......... .......... 8 == 8 Kod ze sprawdzanie w warunku if nr 1 : for( int i = 1; i <= 8; i++ ) { for( int j = 1; j <= 8; j++ ) { if( voluminy[ j ] == volumin_ignore[ i ] ) { cout << i << " == " << j << endl; if( volumin_ignore[ j ] != "" ) { fail_part[ i ] = true; } } } } Wynik : 1 == 4 2 == 1 3 == 3 4 == 6 5 == 2 6 == 7 6 == 8 7 == 7 7 == 8 8 == 7 8 == 8
Kod ze sprawdzenia w warunku if nr 2 : for( int i = 1; i <= 8; i++ ) { for( int j = 1; j <= 8; j++ ) { if( voluminy[ j ] == volumin_ignore[ i ] ) { if( volumin_ignore[ j ] != "" ) { cout << i << " == " << j << endl; fail_part[ i ] = true; } } } } Wynik : 1 == 4 2 == 1 3 == 3 5 == 2
|
|
pekfos |
» 2013-12-27 18:20:13 Ale jak wypisze kombinacje jak porównuje to sprawdza nie poprawnie. |
Sprawdza poprawnie. Wypisujesz tylko te porównania, dla których warunek jest prawdziwy. |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2013-12-27 18:36:38 Teraz jest już dobrze, musiałem zamienić kolejnością sprawdzanie i dodatkowo sprawdzić czy zmienne nie są puste w jednym warunku :) @pekfos dzięki za pomoc Tutaj podaje ostateczny kod (działający) : void sprawdz_partycje() { for( int i = 0; i < 20; i++ ) { fail_part[ i ] = false; } for( int i = 1; i <= 19; i++ ) { for( int j = 1; j <= 19; j++ ) { if( voluminy[ i ] == volumin_ignore[ j ] and( voluminy[ i ] != "" or volumin_ignore[ j ] != "" ) ) { fail_part[ i ] = true; } } } for( int i = 1; i <= 19; i++ ) { } } |
|
1 « 2 » |