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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  por favor necesito ayuda con este codigo, C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: por favor necesito ayuda con este codigo, C++  (Leído 3,001 veces)
EDWINJR

Desconectado Desconectado

Mensajes: 2



Ver Perfil
por favor necesito ayuda con este codigo, C++
« en: 17 Junio 2016, 04:48 am »

se trata de definir una matriz de 4x4, y almacenar en la matriz parejas de numeros, los numeros se deben generar aleatoriamente de 1 a 8...creo que el error esta en el while, a veces me queda en un bucle infinito y a veces no me quedan todas las parejas completas...
les agradeceria mucho su ayuda...

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <time.h>
  5.  
  6. using namespace std;
  7. void parejas(){
  8.    srand(time(NULL));
  9.    int matriz[4][4],nume,cont=0;
  10.  
  11.    for(int x=0;x<4;x++){//llenando la matriz con numeros aleatorios
  12.    for(int y=0;y<4;y++){  
  13.     nume=1+rand()%8;
  14.     matriz[x][y]=nume; //llenando la matriz con numeros aleatorios
  15. }
  16. }
  17.  
  18. //comparacion de las parejas de la matriz
  19. for(int x=0;x<4;x++){     //recorriendo cada posicion de la matriz
  20.    for(int y=0;y<4;y++){
  21.            for(int s=0;s<4;s++){
  22. // for para comparar cada posicio con la posicion generada por los 2 for anteriores
  23.  
  24.             for(int m=0;m<4;m++){    //for para recorrer filas
  25.             if(matriz[x][y]==matriz[s][m]) {
  26. //comparando el valor de la posicion [x][y] con el vlor de cada posicion de la matriz
  27.  
  28.            cont++;             //contamos cuantas veces el numero es igual
  29.             if(cont>2){                   //si el numero esta repetido mas de dos veces
  30.  
  31.             while(matriz[s][m]==matriz[x][y]){
  32.  
  33. //se mantendra este ciclo para asignarle  un valor diferente
  34.  
  35.                     nume=1+rand()%8;  
  36. //generamos el nuevo  numero que va a tener la posicion de la matriz                
  37.                      matriz[s][m]=nume;                        
  38.                                               }
  39.           cont=2;     //igualmaos el contador a 2
  40.  
  41.             }//cierre de if que evalua el contador
  42.            }//cierre del if que evalua si los numeros son iguales
  43.  
  44.            }//cierre del for que recorre filas
  45.  
  46.  
  47.            }cont=0;  //cierre de for que recorre columnas
  48.            cout<<matriz[x][y] <<"\t" <<x <<y;
  49.            cout<<endl;//mostramos el numero
  50.            }//cierre del segundo for
  51.  
  52.            }//cierre del primer for
  53.  
  54.      }   //cierre de la funcion  
  55.  
  56.  
  57. int main(){ //funcion principal
  58.    cout<<"numero" <<"\t" <<"posicion" <<endl;
  59. cout<<endl;  
  60.    parejas(); //llamada a la funcion
  61.  
  62.  
  63.  
  64.    system("pause");
  65.    }    
  66.  
  67.  
  68.  


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: por favor necesito ayuda con este codigo, C++
« Respuesta #1 en: 17 Junio 2016, 13:56 pm »

Hola creo que tienes un error de logica estas evaluando en la misma matriz. Hay un momento donde
Código
  1. matriz[s][m]

donde s=x e m=y entonces si cambias el valor de s,m s seguirá siendo igual al valor x,y ahi esta tu ciclo infinito por lo demas he visto otras detalles pero creo que con ese es suficiente.

Tienes que agregar una condicion de exclusión donde s != x and m!=y.

Es eso u otra matrizo guardar el valor temporalmente en otra variable y comparar contra esa variable.

Saludos


En línea

EDWINJR

Desconectado Desconectado

Mensajes: 2



Ver Perfil
Re: por favor necesito ayuda con este codigo, C++
« Respuesta #2 en: 18 Junio 2016, 02:26 am »

ok. lo voy aprobar asi para ver...GRACIAS por tu ayuda
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Necesito ayuda con este bat x favor
Scripting
Qarol 8 5,501 Último mensaje 4 Octubre 2007, 22:45 pm
por Qarol
Ayuda con este codigo por favor
Programación Visual Basic
pedraosone 2 1,883 Último mensaje 22 Octubre 2007, 00:28 am
por pedraosone
Necesito ayuda con este codigo por favor
Programación C/C++
MellaSystems 3 2,619 Último mensaje 12 Septiembre 2014, 19:15 pm
por MellaSystems
Ayuda en este codigo por favor
Programación C/C++
MellaSystems 3 3,232 Último mensaje 6 Mayo 2015, 07:20 am
por crack81
necesito ayuda para hecer este programa, por favor ayuda
Programación C/C++
LARANARENElol 2 5,022 Último mensaje 16 Noviembre 2018, 03:00 am
por LARANARENElol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines