Bueno como dudo mucho conectarme mañana y asi pues aqui dejo lo que yo hice por si aun tienes dudas y asi no dejarlo por ahi que luego se me olvida jejej
Código C++:
Ver original#include <stdio.h>
#include <time.h>
#include <iostream.h>
using namespace std;
int main(){
int V[5]; // Crear nuestro vector de 5 casillas donde guardaremos los numeros aleatorios
int n; // Aqui guardaremos el numero random que obtengamos con random(9)
bool existe; // Usaremos para checar si el numero existe en el vector
///////////////// Llenar el Vector V con numeros aleatorios
for(int i = 0; i < 5; i++) // Ir de 0 a 4, que son las casillas en el vector
{
srand((unsigned)time(0)); // Es utilizado para que luego al llamar rand(), este genere uno diferente, si no colocmos esto, rand() siempre retornara los mismos numeros do{
existe = false; // Ponemos el checador en false
n
= rand() % 10; // Se guarda el numero random en n for(int x = 0; x < i; x++) // Recorremos el vector de 0 a i-1( x < i, es lo mismo a poner x <= i-1)
{
if(V[x] == n) // Checamos si el valor del vector en la posicion x es igual a n
{
existe = true; // Si es asi cambiamos existe a true
break; // Y terminamos el bucle for
}
}
}while(existe); // Hara esto mientras existe == true
V[i] = n; // Guardamos en n en el vector en la posicion i
}
///////////////////////////////////////////////
/// Imprimir el Resultado de los numeros aleatorios /////////////
/// Esto solo lo ponemos por si deceamos saber que numeros son los correctos
cout << "Resultado" << endl;
for(int i = 0; i < 5; i++)
{
cout << V[i] << endl;
}
cout << endl;
////////////////////////////////////////////////////////////////
/////////// Juego /////////////////////////////////////////
int R[5]; // Crear nuestro vector de 5 casillas donde guardaremos las respuestas
int gano; // Con esto checaremos luego si el usuario gano
int turno = 1; // Total de oportunidades
string respuesta; // Aqui guardaremos las respuesta de $ y *
do
{
cout << "Oportunidad [" << turno << "]:" << endl; // Imprimimos la oportunidad en la que va
cin>>R[0];//
cin>>R[1];//
cin>>R[2];// Ingresamos cada numero en una casilla del vector R que es de 5 casillas al igual que V
cin>>R[3];//
cin>>R[4];//
respuesta = ""; // Ponemos respuesta vacio ""
gano = 0; // Ponemos gano en 0
for(int i = 0; i < 5; i++) // Bucle para recorrer en vector V
{
for(int ii = 0; ii < 5; ii++) // Bucle para recorrer el vector R
{
if(V[i] == R[ii] && i == ii) // Si el valor de V en la posicion i es igual a el valor de R en la posicion ii y ademas i es igual a ii
// significa que el valor son lo mismos y ademas estan en la misma posicion
{
respuesta += "$"; // Agregamos a respuesta el signo $
gano++; // Aumentamos gano +1
break; // Salimos del Bucle
}else if(V[i] == R[ii]){ // O si el valor de V en la posicion i es igual a R en la posicion ii son los mismos, pero i es diferente a ii
// Significa que los valores son los mismos pero estan en diferentes posiciones
respuesta += "*"; // Agregamos a respuesta *
break; // Salimos del Bucle
}
}
}
cout << respuesta << endl; // Imprimimos respuesta que contendra los $ y * , segun el resultado de lo anterior
turno++; // Aumentamos turno + 1
}while(gano < 5 && turno <= 10); // Si gano es menor a 5 y turno es menor o igual a 10 se repite lo anterior
cout << endl; // Saltode linea o espacio
if(gano == 5) // Si gano es igual a 5, significa que el usuario a ganado
{
cout << "Usted ha Ganado! ;D" << endl; // Imprimimos mensaje de felicitaciones n_n
}else{ // Si no
cout << "Usted ha Perdido u_u" << endl; // Imprimimos mensaje de que perdio
}
///////////////////////////////////////////////////////////
cin.get();cin.get();
return 0;
}