lunes, 28 de julio de 2014

llenar matriz NxN aleatoriamente e introducir cuantos elementos a intercambiar e introducirlos e imprimir la matriz con elementos nuevos

Números aleatorios del 1 al 9  llenar una matriz bidimencional que pida el tamaño de la matriz a llenar de (N números) Nfilas x Ncolumnas y que una vez llena la matriz con números aleatorios pida cuantos números se van a cambiar e introducirlos, e imprimir la matriz cada vez que se cambien los valores.





Primero creamos la clase  Mat.java que va hacer la matriz bidimensional, y tendrá el  método  para imprimir 

public class Mat{
public int Mat [][];
public int filas, columnas;
public Mat(){
}
public Mat(int f, int c){
filas=f;
columnas=c;
Mat=new int [filas][columnas];
}
public void Llenar(int valor, int i, int j){
Mat[i][j]=valor;
}
public void Mostrar(){ // Muestra los elementos de la matriz. 
System.out.println("Matriz:"); 
for(int i=0;i<filas;i++){ 
for(int j=0;j<columnas;j++){ 
System.out.print(Mat[i][j]+" "); 
System.out.println(); 
}
}

Creamos la clase Sod.java  que sera la clase principal
import java.util.Scanner;
import java.util.Random;
import javax.swing.JOptionPane;

public class Sod{
public static void main(String[] arg){ 
Mat A;
int a,b,c, numeroaleatorio;
Scanner teclado=new Scanner(System.in);
Random  aleatorio = new Random(); 


System.out.println("datos de matriz ");

System.out.println ("filas");
 a=teclado.nextInt();
System.out.println ("columnas");
 b=teclado.nextInt();
 System.out.println ();
 A=new Mat(a,b);
 for(int i=0;i<A.filas;i++){ 
for(int j=0;j<A.columnas;j++){ 
  numeroaleatorio=(int)Math.floor(Math.random()*(9-1+1)+1);
  // (int)(Math.random()*(HASTA-DESDE+1)+DESDE);
 A.Llenar(numeroaleatorio, i, j);
}

 A.Mostrar();
  System.out.println ("cuantos numeros de la matriz va a cambiar");
    int ii=0, cargador=0; 
   ii=teclado.nextInt();
do{
  System.out.println ("ingresar valor del numero a cambiar");
  int i =teclado.nextInt();
 System.out.println ("en fila");
 int o =teclado.nextInt();
 System.out.println ("en columna");
int u =teclado.nextInt();
 A.Llenar(i,o , u);
 A.Mostrar();

    cargador=cargador+1;
 } while (cargador<=ii);
 
    
}

}


Corrida del programa


--------------------Configuration: <Default>--------------------
datos de matriz 

filas
4
columnas
4

Matriz:
8 6 7 9 
1 6 8 1 
8 7 2 2 
9 8 3 1 
cuantos numeros de la matriz va a cambiar
2
ingresar valor del numero a cambiar
3
en fila
1
en columna
3
Matriz:
8 6 7 9 
1 6 8 3 
8 7 2 2 
9 8 3 1 
ingresar valor del numero a cambiar
3
en fila
3
en columna
2
Matriz:
8 6 7 9 
1 6 8 3 
8 7 2 2 
9 8 3 1 
ingresar valor del numero a cambiar
1
en fila
1
en columna
1
Matriz:
8 6 7 9 
1 1 8 3 
8 7 2 2 
9 8 3 1 

Process completed.


No hay comentarios:

Publicar un comentario