Sprawdzanie elementów jedenj tablicy względem drugiej tablicy
Ostatnio zmodyfikowano 2014-06-05 11:22
mgrD Temat założony przez niniejszego użytkownika |
Sprawdzanie elementów jedenj tablicy względem drugiej tablicy » 2014-06-05 10:46:28 Witam, zastanawiam się nad tym: Chciałbym sprawdzić czy tablica string jeden zawiera znaki TYLKO z tablicy string dwa. np: string jeden = "01AB" czy zawiera tylko znaki z tablicy string dwa[4] = {"A", "B", "0", "1"); i tutaj mamy prawdę, natomiast tu: string jeden = "1054AZ" czy zawiera tylko znaki z tablicy string dwa[10] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0"}; i tu byłoby false. Moja próba: std::string dwa = { "0123456789" }; std::string jeden; int Check( std::string base2 );
int main() { std::cout << "Podaj licze:"; std::cin >> jeden; int yo = Check( jeden ); std::cout << std::endl << "zgadza sie? : " << yo; return 0; }
int Check( std::string base2 ) { for( int i = 0; i < base2.length(); i++ ) { for( int j = 0; j < 10; j++ ) { if( base2[ i ] == dwa[ j ] ) { std::cout << "zgadza sie: " << i << std::endl; } else { if( j == 10 ) { std::cout << "NIE zgadza sie: " << i << std::endl; return 0; } } } if( i == base2.length() ) return 1; } return 0; }
|
|
pekfos |
» 2014-06-05 11:14:54 Użyj std::string::find_first_not_of().
W twoim kodzie, wszystkie warunki przy returnach są zawsze fałszywe. |
|
mgrD Temat założony przez niniejszego użytkownika |
» 2014-06-05 11:22:45 Bo właśnie miałem kłopot z tym, by zwrócić prawdę ;/
Ale mimo to dzięki, twój sposób okazał się dużo prostszy, szybszy i fajniejszy, dzięki : ) |
|
« 1 » |