Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Warjacje z powtórzeniami

Ostatnio zmodyfikowano 2014-01-19 11:52
Autor Wiadomość
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:
C/C++
#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.
P-102518
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.
P-102520
« 1 »
  Strona 1 z 1