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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: por favor necesito ayuda con este codigo, C++ en: 18 Junio 2016, 02:26 am
ok. lo voy aprobar asi para ver...GRACIAS por tu ayuda
2  Programación / Programación C/C++ / 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.  
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines