Untitled

mail@pastecode.io avatar
unknown
plain_text
2 months ago
1.2 kB
1
Indexable
Never
void recursiva(CardCount estrutura, wchar_t *cartas, int nr_sequencia1, int nr_sequencia2, wchar_t cartamaiorsequencia, int indicecartaatual, wchar_t *cartasatuais) {
    int lenSequencia = wcslen(cartasatuais);
    if (nr_sequencia1 == 0 && nr_sequencia2 == 0 && sequenciaValida(cartamaiorsequencia,cartasatuais,lenSequencia)) {
        for(int i = 0; i < lenSequencia; i++){ 
            wprintf(L"%lc ", cartasatuais[i]);
        }
        wprintf(L"\n");
        return;
    }
    for (int i = 0; estrutura->naipes[indicecartaatual][i]; i++) {
        wchar_t *newCartasatuais = malloc((wcslen(cartasatuais) + 2) * sizeof(wchar_t)); 
        wcscpy(newCartasatuais, cartasatuais); 
        wcsncat(newCartasatuais, &estrutura->naipes[indicecartaatual][i], 1); 
        if (nr_sequencia1 > 0) {
            recursiva(estrutura, cartas, nr_sequencia1 - 1, nr_sequencia2, cartamaiorsequencia, indicecartaatual + 1, newCartasatuais);
        }
        if (nr_sequencia2 > 0) {
            recursiva(estrutura, cartas, nr_sequencia1, nr_sequencia2 - 1, cartamaiorsequencia, indicecartaatual + 1, newCartasatuais);
        }
        free(newCartasatuais); 
    }
}
Leave a Comment