Ir ao conteúdo

C++ Mega sena programa faltando condições


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

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
Postado

@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);
}

 

Postado

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
Postado

@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
Postado
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
  • Solução
Postado

@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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!