elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda! Duda de llenado aleatorio de matriz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda! Duda de llenado aleatorio de matriz  (Leído 1,594 veces)
Kihby

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda! Duda de llenado aleatorio de matriz
« en: 11 Noviembre 2015, 02:38 am »

Bueno, como dice el título tengo una duda de llenado aleatorio para una matriz, estaba trabajando en un juego de memoria para el colegio, pero se me ocurrió la idea de hacer la ubicación de las parejas o algo parecido aleatorio, estoy atascado y no sé qué hacer, este es el programa que hice:
Código:
#include<iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>

using namespace std;

#define ESC 27

struct estructura{
char simbolo;
char valor;

};
estructura matriz[4][4];

int parejas=0, f1,c1,f2,c2;
int x,y,i;
char opcion1;
int jugador;


void llenar(){//asignación de los valores de la mariz

matriz[0][0].valor = 'A' ;
    matriz[0][1].valor = 'B';
    matriz[0][2].valor = 'Z';
    matriz[0][3].valor = 'C';
    matriz[1][1].valor = 'E';
    matriz[1][0].valor = 'D';
    matriz[1][2].valor = 'Y';
    matriz[1][3].valor = 'P';
    matriz[2][2].valor = 'H';
    matriz[2][0].valor = 'K';
    matriz[2][1].valor = 'G';
    matriz[2][2].valor = 'H';
    matriz[2][3].valor = 'X';
matriz[3][0].valor = 'J';
    matriz[3][1].valor = 'M';
    matriz[3][2].valor = 'V';
    matriz[3][3].valor = 'U';


    matriz[0][0].simbolo = '%';
matriz[0][1].simbolo = '$';
matriz[0][2].simbolo = '#';
matriz[0][3].simbolo = 'X';
matriz[1][0].simbolo ='$';
matriz[1][1].simbolo = '&';
matriz[1][2].simbolo = 'W';
matriz[1][3].simbolo = '&';
matriz[2][0].simbolo = '*';
matriz[2][1].simbolo = '@';
matriz[2][2].simbolo = '#';
matriz[2][3].simbolo = '%';
matriz[3][0].simbolo = '@';
matriz[3][1].simbolo = 'W';
matriz[3][2].simbolo = '*';
matriz[3][3].simbolo = 'X';




}
void gotoxy(int col, int fil){
HANDLE hCon;
hCon = GetStdHandle (STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = col;
    dwPos.Y =fil;
SetConsoleCursorPosition (hCon, dwPos);

}
void cuadro(){ //decoracion
for (int i = 2; i<78; i++)
{
system ("color 3E");
   gotoxy(i,2); cout<<"*";
   gotoxy(i, 22); cout<<"*";
}
for (int i= 2; i<23;i++)
{
system ("color 3E");
gotoxy(2,i); cout<<"*";
     gotoxy(78,i); cout<<"*";
}
}
void mostrar(){//mostrar la matriz
system("color 33");
    gotoxy(34,5);
cout<<matriz[0][0].valor<<"  |  " <<matriz[0][1].valor<<"  |  "<<matriz[0][2].valor<<"  |  "<<matriz[0][3].valor<<endl;
    gotoxy(34,6);
  cout<<"-------------------"<<endl;
    gotoxy(34,7);
cout<<matriz[1][0].valor<<"  |  " <<matriz[1][1].valor<<"  |  "<<matriz[1][2].valor<<"  |  "<<matriz[1][3].valor<<endl;
    gotoxy(34,8);
  cout<<"-------------------"<<endl;
    gotoxy(34,9);
cout<<matriz[2][0].valor<<"  |  " <<matriz[2][1].valor<<"  |  "<<matriz[2][2].valor<<"  |  "<<matriz[2][3].valor<<endl;
    gotoxy(34,10);
  cout<<"-------------------"<<endl;
gotoxy(34,11);
cout<<matriz[3][0].valor<<"  |  " <<matriz[3][1].valor<<"  |  "<<matriz[3][2].valor<<"  |  "<<matriz[3][3].valor<<endl;

}

void jugar(){
for(i=1;i<=2;i++){
gotoxy (33,15);
cout<< " Elija la opcion : ";
cin>> opcion1;


if (opcion1 == 'A') {//determinacion de las parejas
x=0; y=0; gotoxy(34,5); cout << matriz[x][y].simbolo;
}
if (opcion1 == 'B') {
x=0; y=1; gotoxy(39,5); cout << matriz[x][y].simbolo;
}

       if (opcion1 == 'Z') {
x=0; y=2; gotoxy(44,5); cout << matriz[x][y].simbolo;
}

   if (opcion1 == 'C') {
x=0; y=3; gotoxy(49,5); cout << matriz[x][y].simbolo;
}
     if (opcion1 == 'D') {
x=1; y=0; gotoxy(34,7); cout << matriz[x][y].simbolo;
}
  if (opcion1 == 'E') {
x=1; y=1; gotoxy(39,7); cout << matriz[x][y].simbolo;
}
   if (opcion1 == 'Y') {
x=1; y=2; gotoxy(44,7); cout << matriz[x][y].simbolo;
}
     if (opcion1 == 'P') {
x=1; y=3; gotoxy(49,7); cout << matriz[x][y].simbolo;
}
   if (opcion1 == 'K') {
x=2; y=0; gotoxy(34,9); cout << matriz[x][y].simbolo;
}
    if (opcion1 == 'G') {
x=2; y=1; gotoxy(39,9); cout<<" "; cout << matriz[x][y].simbolo;
}
    if (opcion1 == 'H') {
x=2; y=2; gotoxy(44,9); cout<<" "; cout << matriz[x][y].simbolo;
}
if (opcion1 == 'X') {
x=2; y=3; gotoxy(49,9); cout<<" "; cout << matriz[x][y].simbolo;
}
if (opcion1 == 'J') {
x=3; y=0; gotoxy(34,11); cout<<" "; cout << matriz[x][y].simbolo;
}

if (opcion1 == 'M') {
x=3; y=1; gotoxy(39,11); cout<<" "; cout << matriz[x][y].simbolo;
}

            if (opcion1 =='V') {
x=3; y=2; gotoxy(44,11); cout<<" "; cout << matriz[x][y].simbolo;
}
if (opcion1 == 'U') {
x=3; y=3; gotoxy(49,11); cout<<" "; cout << matriz[x][y].simbolo;
}

if(i==1){
f1=x; c1=y;
}else
f2=x; c2=y;
}
if((f1==0 && c1==0) && (f2==2 && c2==3) ||(f2==0 && c2==0) && (f1==2 && c1==3)){
parejas= parejas+1;
matriz[0][0].valor=matriz[0][0].simbolo;
matriz[2][3].valor=matriz[2][3].simbolo;
}
if((f1==0 && c1==1) && (f2==1 && c2==0) ||(f2==0 && c2==1) && (f1==1 && c1==0)){
parejas= parejas+1;
matriz[0][1].valor=matriz[0][1].simbolo;
matriz[1][0].valor=matriz[1][0].simbolo;
}
if((f1==0 && c1==2) && (f2==2 && c2==2) ||(f2==0 && c2==2) && (f1==2 && c1==2)){
parejas= parejas+1;
matriz[0][2].valor=matriz[0][2].simbolo;
matriz[2][2].valor=matriz[2][2].simbolo;
}
if((f1==1 && c1==1) && (f2==1 && c2==3) ||(f2==1 && c2==3) && (f1==1 && c1==1)){
parejas= parejas+1;
matriz[1][1].valor=matriz[1][1].simbolo;
matriz[1][3].valor=matriz[1][3].simbolo;
}
if((f1==0 && c1==3) && (f2==3 && c2==3) ||(f2==0 && c2==3) && (f1==3 && c1==3)){
parejas= parejas+1;
matriz[0][3].valor=matriz[0][3].simbolo;
matriz[3][3].valor=matriz[3][3].simbolo;
}
if((f1==1 && c1==2) && (f2==3 && c2==1) ||(f2==1 && c2==2) && (f1==3 && c1==1)){
parejas= parejas+1;
matriz[1][2].valor=matriz[1][2].simbolo;
matriz[3][1].valor=matriz[3][1].simbolo;
}
if((f1==2 && c1==1) && (f2==3 && c2==0) ||(f2==2 && c2==1) && (f1==3 && c1==0)){
parejas= parejas+1;
matriz[2][1].valor=matriz[2][1].simbolo;
matriz[3][0].valor=matriz[3][0].simbolo;
}
if((f1==2 && c1==0) && (f2==3 && c2==2) ||(f2==2 && c2==0) && (f1==3 && c1==2)){
parejas= parejas+1;
matriz[2][0].valor=matriz[2][0].simbolo;
matriz[3][2].valor=matriz[3][2].simbolo;
}
}//ciclo






int main(){
    cuadro();
llenar();
do{
mostrar();
jugar();
gotoxy(34,17);
cout<<"Parejas descubiertas: "<<parejas;
}while(parejas<=8);
if(parejas==8){
cout<< "HAS GANADO";
}
getch();
}
Agradezco mucho la ayuda  :D


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema en llenado de matriz
Scripting
VonN 3 6,473 Último mensaje 7 Julio 2009, 16:39 pm
por Novlucker
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 6,022 Último mensaje 14 Agosto 2010, 06:18 am
por EddyW
ayuda porfavor a poner un llenado automatico en una pila
Programación C/C++
smallville121 1 2,084 Último mensaje 19 Mayo 2012, 20:07 pm
por RyogiShiki
Poner numero aleatorio en una matriz
Programación C/C++
veravluis 0 1,911 Último mensaje 16 Febrero 2016, 15:23 pm
por veravluis
LLenado De Matriz QR EN C
Programación C/C++
NericSain 1 1,933 Último mensaje 10 Diciembre 2017, 16:18 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines