Warjacje z powtórzeniami
Ostatnio zmodyfikowano 2014-01-19 11:52
mgrD Temat założony przez niniejszego użytkownika |
Warjacje z powtórzeniami » 2014-01-19 11:40:10 Witam, potrzebuje zrobić program, który wyświetli mi wszystkie kombinacje 4znakowe ze zbioru 3elementowego("abc"), sądzę, że kombinacji jest 3^4. Dla testu działania programu i "pomysłu" na niego napisałem sobie nieco uboższą wersje: #include <iostream> #include <ctime> #include <string>
char tab[] = "ab"; std::string warjacja[ 20 ];
void ponowne_generowanie( int index );
int main() { srand( time( NULL ) ); for( int j = 0; j < 7; j++ ) { for( int i = 1; i < 3; i++ ) warjacja[ j ] += tab[ rand() %( sizeof( tab ) - 1 ) ]; ponowne_generowanie( j ); std::cout << j << " . warjacja: " << warjacja[ j ] << std::endl; } return 0; }
void ponowne_generowanie( int index ) { int cos = 0; while( !cos ) { for( int p = 0; p < index; p++ ) { if( warjacja[ p ] == warjacja[ index ] ) { cos++; warjacja[ index ].clear(); for( int i = 1; i < 3; i++ ) warjacja[ index ] += tab[ rand() %( sizeof( tab ) - 1 ) ]; } } cos = 0; } }
I przed dodaniem pętli while program działał źle(kombinacje się powtarzały, np: "2. warjacja: aba", "4. warjacja: aba") a po dodaniu pętli while program się uruchamia ale nic się nie dzieje - chyba zbyt bardzo już namieszałem. Prosiłbym o wskazówki jak naprawić kod tak, by działał : ) @: Dodam, że nie jestem jeszcze tak daleko w c++ i nie znam vectorów. |
|
MrPoxipol |
» 2014-01-19 11:52:56 Dodam, że nie jestem jeszcze tak daleko w c++ i nie znam vectorów. |
Vectory nie są trudne w użyciu. Na stronie masz nawet tutorial. |
|
« 1 » |