Jump to content
Fórum Script Brasil
  • 0

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


Bisconsini

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...