Mega Sena
Publicado por Tiago Tavares 16/11/2006
[ Hits: 27.511 ]
Caros colegas, aqui está um simples algoritmo de sorteio de mega sena. Tem gente aqui da empresa que viciou nisso!
#include <iostream.h> #include <conio.h> /*Algoritmo que simula um jogo da Mega-Sena. Primeiro, armazena 6 números digitados pelo usuário. Depois, faz um sorteio e armazena 6 números em outro vetor. Por último, compara os dois vetores e verifica quantos números são iguais.*/ // Prototipação int main(); void mostrar_num(); void ordenar_num(); void sorteio(); void ordernar_sort(); void mostrar_sort(); void result(); void menu_final(); // Variáveis globais int i, num[6], sort[6], j, aux; int main() { int igual; cout << "\n\n--------------------\n"; cout << "MEGA SENA\n"; cout << "--------------------\n\n"; do { for (i=0,j=1;i<6;i++,j++) { cout << "\n"; do { cout << "Digite o " << j << " numero: "; cin >> num[i]; if (num[i]>60) { cout << "Voce digitou um numero maior que 60. Digite novamente.\n"; } } while (num[i]>60); // verifica se os numeros sao maiores que 60 } // fim do for igual=0; for (i=0;i<6;i++) // verifica se o usuario digitou numeros iguais { for (j=i+1;j<=5;j++) { if (num[i]==num[j]) { igual++; } } // fim do for } // fim do for if (igual>0) // cout << "\nATENCAO! Voce digitou numeros iguais. Digite a sequencia novamente.\n"; } while (igual>0); // verifica se os numeros são iguais. mostrar_num(); } // fim do int main void mostrar_num() { ordenar_num(); // chama o modulo qie ordena o vetor. cout << "\n\nVoce escolheu os seguintes numeros: \n\n"; for (i=0;i<6;i++) { cout << num[i] << " "; } cout << "\n\nAperte qualquer tecla para efetuar o sorteio..."; getch(); sorteio(); } // fim do void mostrar_num void ordenar_num() { // ordenar o vetor for (i=0;i<6;i++) { for (j=i+1;j<=5;j++) { if (num[j] < num[i]) { aux=num[i]; num[i]=num[j]; num[j]=aux; } } } } // fim do void ordenar_num void sorteio() { int igual; srand (time(0)); do { for (i=0;i<6;i++) // for que sorteia os números { sort[i]=rand()%60; // ou sorteio[i]=random(60) } igual=0; for (i=0;i<6;i++) // for que verifica se foram sorteados 2 números iguais { for (j=i+1;j<=5;j++) { if (sort[i]==sort[j]) { igual++; } } // fim do for } // fim do for } while (igual>0); // Se números iguais foram sorteados, o sorteio será ralizado novamente mostrar_sort(); } // fim do void sorteio void ordenar_sort() { // ordenar o vetor for (i=0;i<6;i++) { for (j=i+1;j<=5;j++) { if (sort[j] < sort[i]) { aux=sort[i]; sort[i]=sort[j]; sort[j]=aux; } } } } void mostrar_sort() { ordenar_sort(); cout << "\n\nNumeros sorteados: \n"; for (i=0;i<6;i++) // Mostrar os números sorteados { cout << sort[i] << " "; } cout << "\n\nAperte qualquer tecla para ver o resultado...\n\n"; getch(); result(); } // fim do void mostrar_sort void result() { int iguais[6], acertos=0, k=0; for (i=0;i<6;i++) // controla o vetor dos números do usuário { for (j=0;j<6;j++) // controla o vetor dos números sorteados { if (num[i]==sort[j]) // verifica se os numeros são iguais { iguais[k]=num[i]; //se forem iguais, copia os numeros iguais para um outro vetor acertos++; k++; j=5; } if (num[i] < sort[j]) { j=5; } } // fim do for } // fim do for cout << "Voce teve " << acertos << " acerto(s): "; for (i=0;i<acertos;i++) // mostrar apenas os numeros iguais { cout << iguais[i] << " "; //getch(); } // getch(); menu_final(); } //fim do void result void menu_final() { char opcao; int a; cout << "\n\n\n1 - Digitar outra sequencia\n"; cout << "2 - SAIR\n\n"; do { a=0; cout << "Digite a sua opcao: "; cin >> opcao; switch (opcao) { case'1': main(); break; case'2': break; default : cout << "Opcao invalida."; a++; } } while (a=1);//Verifica se o usuário digitou uma opção válida ou não getch(); } //fim do void menu_final
Converçor de Decimal para Binario
Método de Power para calcular o autovelor dominante de uma matriz
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Wifi não funciona no Aspire ES 15 com o Debian (8)
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta