Ir ao conteúdo
  • Cadastre-se

C++ Mega sena programa faltando condições


Crislonn
Ir à solução Resolvido por devair1010,

Posts recomendados

Nesse programa do jogo da mega-sena gostaria de um auxilo ou ajudinha aqui nesse meu código,preciso deixá-los em ordem crescente e também comparar com um jogo sorteado no final.

Obs; o jogo deve ser colocado manualmente com 6 dezenas de 00 ate 60 claro ou seja apos isso saber se os jogos sorteados no programa teve ganhador da quadra, da quina ou da sena e mostrar o jogo, vou postar o que eu fiz ate agora e fiquei com duvida.Os números aleatórios não podem ser repetidos e nem os manuais. Ajuda por favor

 

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

main (){  
    int vetoraleatorio[15],vetormanual[15] ,i=0, j=0,n=0,x=0; 
    srand (time(NULL)); 
    
    printf("\nfaca seu jogo aleatorio\n");
        printf("\npara terminar ou nao fazer aperte (0)\n");
        
    do{
        printf("\n"); 
        
    scanf("%d",&n);
    
    for(i=0; i<n; i++){ 
    
        if (n>=6 && n<=15){
            vetoraleatorio = (rand()%60)+1;
    
            for(j=0; j<i; j++){
            
                if(vetoraleatorio[j] == vetoraleatorio){
                    vetoraleatorio = (rand()%60)+1; 
                    j=0;
                }         
        }
        printf("%d ",vetoraleatorio);
        }
    }
    }while (n!=0);
    
    printf("\nfaca seu jogo manualmente\n");
        printf("\npara terminar ou nao fazer aperte (0)\n");        
    printf("\nQuantidade de numeros?\n");
    do{
        printf("\n");     
    scanf ("%d",&x);
    for (i=0;i<x;i++){ 
        if( x>=6&&x<=15 ){
        scanf ("%d",&vetormanual);
        }
    } 
    for (i=0;i<x;i++){
        printf ("%d ",vetormanual);
    }
    }while (x!=0);
}

     

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Crislonn     para ficar em ordem você precisa fazer uma ordenação  e entre os vários métodos que existem ,  acho o método  sound of sorting o mais fácil e rápido,  então seu código com esse método seria assim :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main (){
    int vetoraleatorio[15],vetormanual[15],i,j,n,x,aux;
    srand (time(NULL));
    printf("faca seu jogo aleatorio\n");
    printf("para terminar ou nao fazer aperte (0)\n");
    do{
        scanf("%d",&n);
        for(i=0; i<n; i++){
            if (n>=6 && n<=15){
                vetoraleatorio[i] = rand()%60+1;
                for(j=0; j<i; j++){
                    if(vetoraleatorio[j] == vetoraleatorio[i]){
                        vetoraleatorio[i] = (rand()%60)+1;
                        j=0;
                    }
                }
                printf("%d ",vetoraleatorio[i]);
            }
        }
    }while (n!=0);
    do{
        printf("faca seu jogo manualmente\n");
        printf("para terminar ou nao fazer aperte (0)\n");
        printf("Quantidade de numeros?\n");
        scanf("%d",&x);
        for(i=0;i<x;i++){
            if( x>=6&&x<=15 ){
                printf("Digite O %d Numero ",i+1);
                scanf("%d",&vetormanual[i]);
            }
        }
        for(i=0;i<x;i++)
            for(j=i+1;j<x;j++)
                if( vetormanual[i] > vetormanual[j]){
                    aux            = vetormanual[i] ;
                    vetormanual[i] = vetormanual[j] ;
                    vetormanual[j] =            aux ;
                }
        for (i=0;i<x;i++)
            printf ("%d ",vetormanual[i]);
        
        printf("\n\n");
    }while (x!=0);
}

 

Link para o comentário
Compartilhar em outros sites

Muito obrigado já fiz ate para o modo aleatório também. Valeu

agora só tenho que arranjar um jeito de comparar com seis números sorteados e ver se ganhei na quadra, na quina ou na sena.

Vou tentar, mas se não conseguir peço mais uma ajuda.

olha como ficou arrumado.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main (){
    int vetoraleatorio[15],vetormanual[15],i,j,n,x,aux;
    srand (time(NULL));
    printf("faca seu jogo aleatorio\n");
    printf("para terminar ou nao fazer aperte (0)\n");
    do{
        printf("\n"); 
        scanf("%d",&n);
        for(i=0; i<n; i++){
            if (n>=6 && n<=15){
        
                vetoraleatorio = rand()%60+1;
                for(j=0; j<i; j++){
                    if(vetoraleatorio[j] == vetoraleatorio){
                        vetoraleatorio = (rand()%60)+1;
                        j=0; 
                    }
                } 
            }
        }
        for(i=0;i<n;i++)
            for(j=i+1;j<n;j++)
                if( vetoraleatorio > vetoraleatorio[j]){
                    aux            = vetoraleatorio ;
                    vetoraleatorio = vetoraleatorio[j] ;
                    vetoraleatorio[j] =            aux ;
                }
        if (n>=6 && n<=15){
            for (i=0;i<n;i++)
                printf ("%d ",vetoraleatorio); 
        }
    }while (n!=0);
    do{
        printf("faca seu jogo manualmente\n");
        printf("para terminar ou nao fazer aperte (0)\n");
        printf("Quantidade de numeros?\n");
        scanf("%d",&x);
        for(i=0;i<x;i++){
            if( x>=6&&x<=15 ){
                printf("Digite O %d Numero ",i+1); 
                scanf("%d",&vetormanual);
            }
            }
        for(i=0;i<x;i++){
            for(j=i+1;j<x;j++){
                if( vetormanual > vetormanual[j]){
                    aux            = vetormanual ;
                    vetormanual = vetormanual[j] ;
                    vetormanual[j] =            aux ;
                } 
            }
        }
        for (i=0;i<x;i++)
            printf ("%d ",vetormanual);
        
        printf("\n\n");
    }while (x!=0);
}

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Crislonn      para postar seu código é melhor usar o botão  <>   que está lá na barra de ferramentas da janela de responder, pois senão seu código fica faltando alguns caractere como os  [ i ] que sumiram ,  então para ver quantos pontos acertou precisa verificar com os número do resultado, então seu código ficaria assim  :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int resultado_MSena[6];
int main (){
    int vetoraleatorio[15],vetormanual[15],i,j,n,x,aux,flag,A,pontos=0;
    srand (time(NULL));
    printf("\nInsira Os Numeros Que Sairam Do Resultado Da MegaSena \n");
    for(j=0;j<6;j++){
        do{
            printf("Digite O %d Numero Do Resultado ",j+1);
            scanf("%d",&A);
            flag=0;
            for(i=0;i<6;i++){
                if(resultado_MSena[i]==A){
                    printf("Esse Numero Ja Foi Inserido, Digite Outro .    Tecle\n");
                    getch();
                    flag=1;
                    break;
                }
        }
        }while(flag==1);
        resultado_MSena[j]=A;
    }
    printf("faca seu jogo aleatorio\n");
    printf("para terminar ou nao fazer aperte (0)\n");
    do{
        printf("\n");
        scanf("%d",&n);
        for(i=0; i<n; i++){
            if (n>=6 && n<=15){

                vetoraleatorio[i] = rand()%60+1;
                for(j=0; j<i; j++){
                    if( vetoraleatorio[j] == vetoraleatorio[i]){
                        vetoraleatorio[i] =  (rand()%60)+1     ;
                        j=0;
                    }
                }
            }
        }
        for(i=0;i<n;i++)
            for(j=i+1;j<n;j++)
                if( vetoraleatorio[i] > vetoraleatorio[j]){
                    aux               = vetoraleatorio[i] ;
                    vetoraleatorio[i] = vetoraleatorio[j] ;
                    vetoraleatorio[j] =               aux ;
                }
        if (n>=6 && n<=15){
            for (i=0;i<n;i++)
                printf ("%d ",vetoraleatorio);
        }
    }while (n!=0);
    do{
        printf("faca seu jogo manualmente\n");
        printf("para terminar ou nao fazer aperte (0)\n");
        printf("Quantidade de numeros?    <  De 6 Ate 15  >\n");
        scanf("%d",&x);
        if(x==0)return 0;
        for(i=0;i<x;i++){
            if( x>=6&&x<=15 ){
                do{
                    printf("Digite O %d Numero ",i+1);
                    scanf("%d",&A);
                    flag=0;
                    for(j=0;j<6;j++){
                        if(vetormanual[j]==A){
                            printf("Esse Numero Ja Foi Inserido, Digite Outro .    Tecle\n");
                            getch();
                            flag=1;
                            break;
                        }
                    }
                }while(flag==1);
                vetormanual[i]=A;
            }
        }
        for(i=0;i<x;i++){
            for(j=i+1;j<x;j++){
                if( vetormanual[i] > vetormanual[j]){
                    aux            = vetormanual[i] ;
                    vetormanual[i] = vetormanual[j] ;
                    vetormanual[j] =            aux ;
                }
            }
        }
        for (i=0;i<x;i++)
            printf ("%d ",vetormanual[i]);
        for(i=0;i<6;i++)
            for(j=0;j<6;j++){
                if(resultado_MSena[j]==vetormanual[i])
                    pontos++;
        }
        printf("\n\n");
        if     (pontos==6)printf("Acertou A Sena   %d Pontos !\n",pontos);
        else if(pontos==5)printf("Acertou A Quina  %d Pontos !\n",pontos);
        else if(pontos==4)printf("Acertou A Quadra %d Pontos !\n",pontos);
        else if(pontos==3)printf("Acertou O Terno  %d Pontos !\n",pontos);
        else printf("Acertou Meno De Tres Numero ! ! !\n"                 );
        printf("\n");
    }while (x!=0);
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Acho que esta quase completo, mas so estou com problema no vetormanual, 
pois mesmo com números abaixo de 6 e acima de 15 ele esta calculando um jogo e não pode.
Já tentei muito, so falho.
E também regular o int resultado_MSena[6] para fazer do numero 1 ate o 60 somente. 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int resultado_MSena[6];
int main (){ 
    int vetoraleatorio[15],vetormanual[15],i,j,n,x,aux,flag,A,pontos=0;
    srand (time(NULL));
    printf("\nInsira Os Numeros Que Sairam Do Resultado Da MegaSena \n");
    for(j=0;j<6;j++){
        do{
            printf("Digite O %d Numero Do Resultado de 01 a 60 ",j+1);
            scanf("%d",&A);
            flag=0;
            for(i=0;i<6;i++){
                if(resultado_MSena[i]==A){
                    printf("\aEsse Numero Ja Foi Inserido, Digite Outro .    Tecle\n");
                    getch();
                    flag=1;
                    break;
                }
        	}
        }while(flag==1);
        resultado_MSena[j]=A;
    }
    printf("faca seu jogo aleatorio\n");
    printf("para terminar ou nao fazer aperte (0)\n");
    do{ 
        printf("\n");
        scanf("%d",&n);
        for(i=0; i<n; i++){
            if (n>=6 && n<=15){

                vetoraleatorio[i] = rand()%60+1;
                for(j=0; j<i; j++){
                    if( vetoraleatorio[j] == vetoraleatorio[i]){
                        vetoraleatorio[i] =  (rand()%60)+1     ;
                        j=0;
                    }
                }
            }
        }
        for(i=0;i<n;i++){
            for(j=i+1;j<n;j++){
                if( vetoraleatorio[i] > vetoraleatorio[j]){
                    aux               = vetoraleatorio[i] ;
                    vetoraleatorio[i] = vetoraleatorio[j] ;
                    vetoraleatorio[j] =               aux ;
                }
            }
        }
        if (n>=6 && n<=15){
            for (i=0;i<n;i++){
                printf ("%d ",vetoraleatorio[i]); 
                pontos=0; 
            }
                for(i=0;i<6;i++){
            for(j=0;j<6;j++){
                if(resultado_MSena[j]==vetoraleatorio[i])
                    pontos++;
                }
        }
        printf("\n\n");
        if     (pontos==6)printf("Acertou A Sena   %d Pontos !\n",pontos);
        else if(pontos==5)printf("Acertou A Quina  %d Pontos !\n",pontos);
        else if(pontos==4)printf("Acertou A Quadra %d Pontos !\n",pontos);
        else if(pontos==3)printf("Acertou O Terno  %d Pontos !\n",pontos);
        else printf("Acertou Meno De Tres Numero ! ! !\n"                 );
        printf("\n");
			}
			
    }while (n!=0);
    
        printf("faca seu jogo manualmente\n");
        printf("para terminar ou nao fazer aperte (0)\n");
        printf("Quantidade de numeros?    <  De 6 Ate 15  >\n");
        
        do{
        scanf("%d",&x);
        for(i=0;i<x;i++){
            if( x>=6&&x<=15 ){
                do{
                    printf("Digite O %d Numero ",i+1);
                    scanf("%d",&A);
                    flag=0;
                    for(j=0;j<6;j++){
                        if(vetormanual[j]==A){
                            printf("Esse Numero Ja Foi Inserido, Digite Outro .    Tecle\n");
                            getch();
                            flag=1;
                            break;
                        }
                    }
                }while(flag==1);
                vetormanual[i]=A;
            }
        }
        for(i=0;i<x;i++){
            for(j=i+1;j<x;j++){
                if( vetormanual[i] > vetormanual[j]){
                    aux            = vetormanual[i] ;
                    vetormanual[i] = vetormanual[j] ;
                    vetormanual[j] =            aux ;
                }
            }
        } 
        for (i=0;i<x;i++){
            printf ("%d ",vetormanual[i]);
            pontos=0;  
        }
        for(i=0;i<6;i++){
            for(j=0;j<6;j++){
                if(resultado_MSena[j]==vetormanual[i])
                    pontos++;
        	}
    	}
        printf("\n\n");
        if     (pontos==6)printf("Acertou A Sena   %d Pontos !\n",pontos);
        else if(pontos==5)printf("Acertou A Quina  %d Pontos !\n",pontos);
        else if(pontos==4)printf("Acertou A Quadra %d Pontos !\n",pontos);
        else if(pontos==3)printf("Acertou O Terno  %d Pontos !\n",pontos);
        else printf("Perdeu ! ! !\n"                 );
        printf("\n");
    }while (x!=0);
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Crislonn      resultado_MSena regulado  para aceitar somente números de 1 até 60  , então seu código ficou assim  :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int resultado_MSena[6];
int main (){
    int vetoraleatorio[15],vetormanual[15],i,j,n,x,aux,flag,A,pontos=0;
    srand (time(NULL));
    printf("\nInsira Os Numeros Que Sairam Do Resultado Da MegaSena \n");
    for(j=0;j<6;j++){
        do{
            printf("Digite O %d Numero Do Resultado de 01 a 60 ",j+1);
            scanf("%d",&A);
            flag=0;
            for(i=0;i<6;i++){
                if(resultado_MSena[i]==A){
                    printf("\aEsse Numero Ja Foi Inserido, Digite Outro .    Tecle\n");
                    getch();
                    flag=1;
                    break;
                }
        	}
        }while(flag==1);
        resultado_MSena[j]=A;
    }
    do{
        system("cls");
        pontos=0,n=0,x=0;
        do{
            printf("faca seu jogo aleatorio\n");
            printf("Quantidade De Numeros  < De 6 Ate 15 >\n");
            printf("para nao fazer aperte (0)\n");
            printf("Digite   -1 Para Sair\n");
            scanf("%d",&n);
            if(n == -1)return 0;
            if(n<6 || n>15)
                if(n!=0)printf("Fora De Faixa !  Nao Pode .\n");
        }while(n<0 || n>15);
        if(n!=0){
            printf("\n");
            if (n>=6 && n<=15){
                for(i=0; i<n; i++){
                    vetoraleatorio[i] = rand()%60+1;
                    for(j=0; j<i; j++){
                        if( vetoraleatorio[j] == vetoraleatorio[i]){
                            vetoraleatorio[i] =  (rand()%60)+1     ;
                            j=0;
                        }
                    }
                }
            }
            for(i=0;i<n;i++){
                for(j=i+1;j<n;j++){
                    if( vetoraleatorio[i] > vetoraleatorio[j]){
                        aux               = vetoraleatorio[i] ;
                        vetoraleatorio[i] = vetoraleatorio[j] ;
                        vetoraleatorio[j] =               aux ;
                    }
                }
            }
            if (n>=6 && n<=15){
                for (i=0;i<n;i++){
                    printf("%d --  %d\n",vetoraleatorio[i],resultado_MSena[i]);
                }
                pontos=0;
                printf("pontos %d\n",pontos);getch();
                for(i=0;i<6;i++){
                    for(j=0;j<6;j++){
                        if(resultado_MSena[j] == vetoraleatorio[i]){
                            pontos++;
                            break;
                        }
                    }
                }
                printf("\n\n");
                if     (pontos==6)printf("Acertou A Sena   %d Pontos !\n",pontos);
                else if(pontos==5)printf("Acertou A Quina  %d Pontos !\n",pontos);
                else if(pontos==4)printf("Acertou A Quadra %d Pontos !\n",pontos);
                else if(pontos==3)printf("Acertou O Terno  %d Pontos !\n",pontos);
                else printf("Acertou só %d Numeros  ! ! !\n"            ,pontos);
                printf("\n");
            }
        }
        printf("faca seu jogo manualmente\n");
        printf("Quantidade de numeros?    <  De 6 Ate 15  >\n");
        printf("para nao fazer aperte (0)\n");
        scanf("%d",&x);
        if(x!=0){
            pontos=0;
            for(i=0;i<x;i++){
                if( x>=6&&x<=15 ){
                    do{
                        printf("Digite O %d Numero ",i+1);
                        scanf("%d",&A);
                        flag=0;
                        for(j=0;j<6;j++){
                            if(vetormanual[j]==A){
                                printf("Esse Numero Ja Foi Inserido, Digite Outro .\n");
                                flag=1;
                                break;
                            }
                            else
                                if(A<1 || A > 60){
                                    printf("Numero Fora De Faixa! Digite Outro.\n");
                                    flag=1;
                                    break;
                                }
                        }
                    }while(flag==1);
                    vetormanual[i]=A;
                }
            }
            for(i=0;i<x;i++){
                for(j=i+1;j<x;j++){
                    if( vetormanual[i] > vetormanual[j]){
                        aux            = vetormanual[i] ;
                        vetormanual[i] = vetormanual[j] ;
                        vetormanual[j] =            aux ;
                    }
                }
            }
            for (i=0;i<x;i++)
                printf ("%d ",vetormanual[i]);
            pontos=0;
            for(i=0;i<6;i++){
                for(j=0;j<6;j++){
                    if(resultado_MSena[j]==vetormanual[i])
                        pontos++;
                }
            }
            printf("\n\n");
            if     (pontos==6)printf("Acertou A Sena   %d Pontos !\n",pontos);
            else if(pontos==5)printf("Acertou A Quina  %d Pontos !\n",pontos);
            else if(pontos==4)printf("Acertou A Quadra %d Pontos !\n",pontos);
            else if(pontos==3)printf("Acertou O Terno  %d Pontos !\n",pontos);
            else printf("só Fez %d Pontos -> Perdeu ! ! !\n",pontos        );
            printf("\n");
        }
    }while (n!=0);
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...