Untitled

 avatar
unknown
plain_text
a year ago
1.3 kB
3
Indexable
#include <wchar.h>
#include <stdio.h>
#include <locale.h>
#include "functions.h"

void gerar_combinacoesseq (wchar_t cartas[], wchar_t array_temporario[], int inicio, int fim, int indice, int tamanho_combinacao, wchar_t *(*arrguardarcartas)[54]){
    int l = 0;
    int k = 0;
    if (indice == tamanho_combinacao){ 
        for (int j = 0; j < tamanho_combinacao; j++){
            if ((j + 1) == tamanho_combinacao){  
                (*arrguardarcartas)[l][k] = array_temporario[j];
                k = 0;
                l++;
            }
            else{
                (*arrguardarcartas)[l][k] = array_temporario[j];
                k++;
            }
        }
        return;
    }
    for (int i = inicio; i <= fim && fim - i + 1 >= tamanho_combinacao - indice; i++){
        array_temporario[indice] = cartas[i];
        gerar_combinacoesseq(cartas, array_temporario, i + 1, fim, indice + 1, tamanho_combinacao, arrguardarcartas);
    }
}

void imprimir_combinacaoseq (wchar_t cartas[], int n, int tamanho_combinacao, wchar_t cartaString, wchar_t cartaHex, wchar_t *(*arrguardarcartas)[54] ){
    wchar_t array_temporario[tamanho_combinacao]; 
    gerar_combinacoesseq(cartas, array_temporario, 0, n - 1, 0, tamanho_combinacao, arrguardarcartas);
}
Editor is loading...
Leave a Comment