Ir para conteúdo
Fórum Script Brasil
  • 0

Novato apanhando de software para combinação de numeros.


Bisconsini

Pergunta

Boa Tarde a todos!!

Meu nome é Ricardo Bisconsini, fiz um curso em 2008 de introdução a programação no IME/UPS onde usavamos a linguagem C para implementar o que era ensinado.

Depois do curso começei a fazer um pequeno programa para gerar combinações de numeros para jogos de loterias. Só por hobbye pois já tem esse tipo de software de monte pela net. Ná época me apertei com o trabalho e abandonei o programa, esses dias achei ele em um backup antigo que estava no fundo da gaveta e resolvi terminar.

Basicamente ele pede a quantidade de numeros que quero jogar, depois pergunta quantas dezenas tem em cada jogo e pede as dezenas que quero jogar, faz a combinação mostra na tela e grava em um arquivo .txt

Ex que funciona:

Numero de dezenas a serem combinadas: 3

Numero de dezenas em cada combinação: 2

Insira a dezena 01: 03

Insira a dezena 02: 25

Insira a dezena 03: 38

Resultado.

03 - 25

03 - 38

25 - 38

Ok até aqui eu fiz o programa, mas ele só funciona se o numero de cada combinação for igual ao numero de dezenas a serem combinadas menos 1.

Ex que não funciona:

Numero de dezenas a serem combinadas: 4

Numero de dezenas em cada combinação 2

Insira a dezena 01: 03

Insira a dezena 02: 25

Insira a dezena 03: 38

Insira a dezena 03: 52

Resultado.

ERRO NAS COMBINAÇÕES!!!

O codigo inteiro do software está abaixo, escrevi em C, se puderem me ajudar eu agradeço!!

/* Gerador de combinações numéricas para jogos de loteria               */
/* Mostra os numeros gerados na tela e grava em um arquivo Jogos.txt    */

# include <stdio.h>
# include <stdlib.h>
# include <conio.c>

/*********************** Prototipos das funções. *************************/

void ordena (int v[], int n);    /* Ordena o vetor v[] em ordem crescente */

/*********************** Corpo do programa. ******************************/

int main (void) {
    int v[100];
    int p;
    int q;
    int x;
    int z;
    FILE *Jogos;
    textcolor(10);
    Jogos = fopen ("Jogos.txt", "w");
    printf ("Digite a quantidade de dezenas a serem combinadas: ");
    scanf ("%d",&p);
    printf ("Digite a quantidade de dezenas por jogo: ");
    scanf ("%d",&q);
    printf ("Digite as dezenas a serem combinadas.\n");
    for (x = 0; x < p; ++x){
            printf ("%02d: ", x+1);
            scanf ("%d",&v[x]);
    }
    ordena (v, q);
    for (x = 0; x < p; ++x) {
        printf ("\nJogo %02d:\n", x+1);
        for (z = 0; z <= q; ++z) {
            if (z == x);
            else {
            printf ("%02d ", v[z]);
            fprintf (Jogos, "%02d ", v[z]);
            }
        }
        printf ("\n");
        fprintf (Jogos, "\n");
    }
    fclose (Jogos);
    getch();
    return 0;
}

/*********************** Função de ordenação pelo metodo BubleSort *******/

void ordena (int v[], int n){
    int i;
    int j;
    int a;
    for(i = 0; i < n; ++i) {
        for (j = 0; j < (n - i); ++j) {
            if (v[j] > v[j + 1]) {
                a = v[j];
                v[j] = v[j + 1];
                v[j + 1] = a;
            }
        }
    }
}
/*************************************************************************/

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Retirando o conio.c, textcolor(10) e getch(); deve parar de dar erros no compilador.

Meu problema é:

Ex que funciona:

Numero de dezenas a serem combinadas: 3

Numero de dezenas em cada combinação: 2

Insira a dezena 01: 03

Insira a dezena 02: 25

Insira a dezena 03: 38

Resultado.

03 - 25

03 - 38

25 - 38

Ok até aqui eu fiz o programa, mas ele só funciona se o numero de cada combinação for igual ao numero de dezenas a serem combinadas menos 1.

Ex que não funciona:

Numero de dezenas a serem combinadas: 4

Numero de dezenas em cada combinação 2

Insira a dezena 01: 03

Insira a dezena 02: 25

Insira a dezena 03: 38

Insira a dezena 03: 52

Resultado.

ERRO NAS COMBINAÇÕES!!!


/* Gerador de combinações numéricas para jogos de loteria */
/* Mostra os numeros gerados na tela e grava em um arquivo Jogos.txt */

# include <stdio.h>
# include <stdlib.h>
/*********************** Prototipos das funções. *************************/

void ordena (int v[], int n); /* Ordena o vetor v[] em ordem crescente */

/*********************** Corpo do programa. ******************************/

int main (void) {
int v[100];
int p;
int q;
int x;
int z;
FILE *Jogos;
Jogos = fopen ("Jogos.txt", "w");
printf ("Digite a quantidade de dezenas a serem combinadas: ");
scanf ("%d",&p);
printf ("Digite a quantidade de dezenas por jogo: ");
scanf ("%d",&q);
printf ("Digite as dezenas a serem combinadas.\n");
for (x = 0; x < p; ++x){
printf ("%02d: ", x+1);
scanf ("%d",&v[x]);
}
ordena (v, q);
for (x = 0; x < p; ++x) {
printf ("\nJogo %02d:\n", x+1);
for (z = 0; z <= q; ++z) {
if (z == x);
else {
printf ("%02d ", v[z]);
fprintf (Jogos, "%02d ", v[z]);
}
}
printf ("\n");
fprintf (Jogos, "\n");
}
fclose (Jogos);
}

/*********************** Função de ordenação pelo metodo BubleSort *******/

void ordena (int v[], int n){
int i;
int j;
int a;
for(i = 0; i < n; ++i) {
for (j = 0; j < (n - i); ++j) {
if (v[j] > v[j + 1]) {
a = v[j];
v[j] = v[j + 1];
v[j + 1] = a;
}
}
}
}
/*************************************************************************/
[/codebox]

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...