Untitled
unknown
plain_text
2 years ago
1.2 kB
7
Indexable
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);
}
}Editor is loading...
Leave a Comment