Mega Sena
Publicado por Tiago Tavares 16/11/2006
[ Hits: 27.716 ]
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
Determinando a posicão de ocorrencia de uma string em outra
Raizes reais e complexas de uma equação de 2º grau
Fazendo o somatório de 1 até N
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho (4)