Ver Mensaje Individual
  #1  
Antiguo 04-04-2012
luisito2011 luisito2011 is offline
Miembro
NULL
 
Registrado: mar 2011
Posts: 82
Reputación: 14
luisito2011 Va por buen camino
Cool usando Random

hola... saludos a todos....
tengo un problemita... necesita una ayuda ....
aca el problem..

Realice un programa que rellene una matriz de 3 X 3, con números aleatorios
comprendidos entre 1 y 9. (los datos no deben repetirse).

La matriz puede ser...
5 4 9
3 6 1
8 2 7
u otra.. por que son numeros aleatorios

aca esta mi codigo... tiene errores...
llena el vector.. pero repite.. algunoj numeros...

Código PHP:
import static java.lang.System.out;
import java.util.*;

public class 
Ejer6 
{

    public static 
void main(String[] args)
    {
        
int fil,col;
        
int Mat[][]= new int [3][3];
        
int Max=8;
        
int Num = new Random().nextInt(9)+1;
        
Mat[0][0]=Num;
        
int Con=0,x=0;
        
int auxCol=auxFil=1;
        
int posFil=0posCol=1;
        while(
Max>0)
        {
            
int NumAle = new Random().nextInt(9)+1;
            for(
fil=0fil<auxFilfil++)
            {
                for(
col=0col<auxColcol++)
                {
                        if (
Mat[fil][col]!= NumAle)
                            
Con=1;
                        else
                        {
                            
Con=0;
                            
col=auxCol+1;
                        }
                }
                if(
x==1)
                    
auxCol=1;
                if(
x==2)
                    
auxCol=1;
            }
            if(
Con==1)
            {
                
Mat[posFil][posCol]=NumAle;
                
posCol++;
                
auxCol++;
                
Max--;
                if(
auxCol>3)
                {
                    
auxCol--;
                    
x++;
                    
auxFil++;
                }
                if(
posCol >2)
                {
                    
posCol=0;
                    
posFil++;
                }
            }
        }
        for(
fil=0fil<3fil++)
        {
            for(
col=0col<3col++)
            {
                
out.print(Mat[fil][col]+"  ");
            }
            
out.println();
        }    
    }

es algo largo...ayuda... como puedo hacer que los numeros introducidos..
no se repitan...
Responder Con Cita