Jump to content
Fórum Script Brasil

Pedro Pinto

Membros
  • Posts

    1
  • Joined

  • Last visited

Everything posted by Pedro Pinto

  1. Boa noite. Gostaria que me ajudassem a corrigir este algoritmo. Tenho de fazer um programa que simule o euromilhões e ainda verificar quantos números acertei e atribuir prémios respetivos. Não consigo não deixar o utilizador introduzir números repetidos. Além disso os contadores parecem não estar a funcionar corretamente. O algoritmo é o seguinte: #include <iostream> #include <stdio.h> #include <time.h> #include <stdlib.h> using namespace std; int z; int y; int numeros[5]; int i; int estrelas[2]; int c; int w,u; int contador=0; int contador2=0; void chave_aleatoria(int numeros_chave[]) { srand(time(NULL)); cout << "os numeros são"<<endl; for(z=0;z<5;z++) { numeros_chave[z]= 1+rand() % 50; cout << numeros_chave[z] << endl; if (numeros==numeros_chave[z]) { contador++; } } } void chave_aleatoria2(int estrelas_chave[]) { srand(time(NULL));//não pode repetir; não sei como fazer cout << "as estrelas são"<<endl; for(y=0;y<2;y++) { estrelas_chave[y]= 1+rand() % 12; cout << estrelas_chave[y] << endl; if (estrelas[c]==estrelas_chave[y]) { contador2++; } } } int main() { int vetor[50]; for (i=0;i<5;i++) { do { cout << "Introduza um numero "<< endl; cin >> numeros; } while (numeros<1 || numeros>50 || numeros==numeros[i-1]); } int vetor2[12]; for (c=0;c<2;c++) { do { cout << "Introduza uma estrela " << endl; cin >> estrelas[c]; } while (estrelas[c]<1 || estrelas[c]>12 || estrelas[c]==estrelas[c-1]); } int numeros_chave[5]; chave_aleatoria(numeros_chave); int estrelas_chave[2]; chave_aleatoria2(estrelas_chave); if (contador==2 && contador2==0) { cout << "acertou 2 numeros e por isso venceu o decimo terceiro premio"; } if (contador==2 && contador2==1) { cout << "acertou 2 numeros e 1 estrela e por isso venceu o decimo segundo premio"; } if (contador==1 && contador2==2) { cout << "acertou 1 numero e 2 estrelas e por isso venceu o decimo primeiro premio"; } if (contador==3 && contador2==0) { cout << "acertou 3 numeros e por isso venceu o decimo premio"; } if (contador==3 && contador2==1) { cout << "acertou 3 numeros e 1 estrela e por isso venceu o nono premio"; } if (contador==2 && contador2==2) { cout << "acertou 2 numeros e 2 estrelas e por isso venceu o oitavo premio"; } if (contador==4 && contador2==0) { cout << "acertou 4 numeros e por isso venceu o setimo premio"; } if (contador==3 && contador2==2) { cout << "acertou 3 numeros e 2 estrelas e por isso venceu o sexto premio"; } if (contador==4 && contador2==1) { cout << "acertou 4 numeros e 1 estrela e por isso venceu o quinto premio"; } if (contador==4 && contador2==2) { cout << "acertou 4 numeros e 2 estrelas e por isso venceu o quarto premio"; } if (contador==5 && contador2==0) { cout << "acertou 5 numeros e por isso venceu o terceiro premio"; } if (contador==5 && contador2==1) { cout << "acertou 5 numeros e 1 estrela e por isso venceu o segundo premio"; } if (contador==5 && contador2==2) { cout << "acertou 5 numeros e 2 estrelas e por isso venceu o primeiro premio"; } if (contador==0 && contador2==0) { cout << "não acertou nenhum numero nem nenhuma estrela e por isso não tem premio"; } if (contador==0 && contador2==1) { cout << "acertou apenas 1 estrela e por isso não tem premio"; } if (contador==0 && contador2==2) { cout << "acertou apenas 2 estrelas e por isso não tem premio"; } if (contador==1 && contador2==0) { cout << "acertou apenas 1 numero e por isso não tem premio"; } if (contador==1 && contador2==1) { cout << "acertou apenas 1 numero e 1 estrela e por isso não tem premio"; } cout << endl; system("pause"); } Agradecia se me dessem uma ajuda Abraço, Pedro
×
×
  • Create New...