Advertisement
FacuValverdi

EdD-TP01-PTO3

Sep 11th, 2022
1,085
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.89 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Random;
  3.  
  4. public class eje3 {
  5.    
  6.     public static void cargarMatriz(int [][] matriz, int M,int N) {
  7.         //Preguntar al usuario si desea cargar los elementos aleatoriamente o por consola
  8.         Scanner lec= new Scanner(System.in);
  9.         System.out.println("--Cargar Matriz--");
  10.         System.out.println("1.Ingresar elementos por consola.");
  11.         System.out.println("2.Ingresar elementos aleatorios.");
  12.         int resp=lec.nextInt();
  13.         if(resp==1) {
  14.               for (int i=0;i<M;i++) {
  15.                     for(int j=0;j<N;j++) {
  16.                         System.out.println("Ingrese un numero a cargar en la posicion "+(i+1)+" - "+(j+1)+" :");
  17.                         matriz[i][j]=lec.nextInt();
  18.                     }
  19.                 }
  20.         }else
  21.             if(resp==2) {
  22.                 System.out.println("-Ingrese los rangos para generar dichos numeros aleatorios[min,max] : ");
  23.                 System.out.println("--------------------");
  24.                 System.out.println("-Valor Min: ");
  25.                 int min=lec.nextInt();
  26.                 System.out.println("-Valor Max: ");
  27.                 int max=lec.nextInt();
  28.                 System.out.println("---------------------------");
  29.                 Random r = new Random();
  30.                   for (int i=0;i<M;i++) {
  31.                         for(int j=0;j<N;j++) {
  32.                             matriz[i][j]=r.nextInt((max-min)+1)+min;
  33.                         }
  34.                     }
  35.             }
  36.        
  37.        
  38.     }
  39.     public static void mostrarMatriz(int [][] matriz) {
  40.           for (int i=0;i<matriz.length;i++) {
  41.                 for(int j=0;j<matriz[i].length;j++) {
  42.                     System.out.println("La posiciones cargadas en la matriz son "+(i+1)+" - "+(j+1)+" :"+matriz[i][j]+".");
  43.                 }
  44.             }
  45.     }
  46.     public static int[][] traspuestaMatriz(int [][] matriz, int M,int N) {
  47.         int [][] aux= new int[N][M];
  48.           for (int i=0;i<N;i++) {
  49.                 for(int j=0;j<M;j++) {  
  50.                     aux[i][j]=matriz[j][i];
  51.                 }
  52.             }
  53.           return aux;
  54.     }
  55.     public static int productoFila(int [][] matriz,int fila) {
  56.         int aux=1;
  57.                 for(int j=0;j<matriz[fila].length;j++) {  
  58.                     aux*=matriz[fila][j];
  59.                 }  
  60.           return aux;
  61.     }
  62.     public static int sumaColumna(int [][] matriz,int columna) {
  63.         int suma=0;
  64.                 for(int i=0;i<matriz.length;i++) {  
  65.                     suma+=matriz[i][columna];
  66.                 }  
  67.           return suma;
  68.     }
  69.     public static int menu2() {
  70.         Scanner op1= new Scanner(System.in);
  71.         System.out.println("----Operaciones con matrices---- ");
  72.         System.out.println("1-Calcular el producto de elementos de una fila");
  73.         System.out.println("2-Calcular la suma de elementos de una columna");
  74.         System.out.println("3-Salir.");
  75.         return op1.nextInt();
  76.     }
  77.     public static void menu(int [][] matriz,int [][] matrizT) {
  78.         Scanner lectura= new Scanner(System.in);
  79.         int opcion,op2;
  80.         do{
  81.             System.out.println("----Operaciones con matrices---- ");
  82.             System.out.println("1-Usar Matriz SIN Trasponer.");
  83.             System.out.println("2-Usar Matriz TRASPUESTA.");
  84.             System.out.println("3-Salir.");
  85.             opcion=lectura.nextInt();
  86.            
  87.             switch(opcion) {
  88.             case 1:
  89.                 do{
  90.                     op2 =menu2();
  91.                     switch(op2) {
  92.                     case 1:
  93.                         System.out.println("-Ingrese fila:");
  94.                         int fila=lectura.nextInt();
  95.                         System.out.println("El producto de elementos de la fila "+fila+" es: "+productoFila(matriz,fila-1));
  96.                        
  97.                         break;
  98.                     case 2:
  99.                         System.out.println("-Ingrese columna:");
  100.                         int columna=lectura.nextInt();
  101.                         System.out.println("La suma de elementos de la columna "+columna+" es: "+sumaColumna(matriz,columna-1));
  102.                         break;
  103.                     case 3:    
  104.                         System.out.println("Hasta luego...");
  105.                         break;
  106.                     default:
  107.                         System.out.println("Opcion Invalida!!");
  108.                     }
  109.                 }while(op2!=3);
  110.                 break;
  111.             case 2:
  112.                   do{
  113.                       op2 =menu2();
  114.                       switch(op2) {
  115.                       case 1:
  116.                         System.out.println("-Ingrese fila:");
  117.                         int fila=lectura.nextInt();
  118.                         System.out.println("El producto de elementos de la fila "+fila+" es: "+productoFila(matrizT,fila-1));
  119.                          
  120.                           break;
  121.                       case 2:
  122.                         System.out.println("-Ingrese columna:");
  123.                         int columna=lectura.nextInt();
  124.                         System.out.println("La suma de elementos de la columna "+columna+" es: "+sumaColumna(matrizT,columna-1));
  125.                           break;
  126.                       case 3:    
  127.                           System.out.println("Hasta luego...");
  128.                           break;
  129.                       default:
  130.                           System.out.println("Opcion Invalida!!");
  131.                       }
  132.                   }while(op2!=3);
  133.                   break;
  134.             case 3:    
  135.                 System.out.println("Hasta luego...");
  136.                 break;
  137.             default:
  138.                 System.out.println("Opcion Invalida!!");
  139.             }
  140.         }while(opcion!=3);
  141.    
  142.     }
  143.  
  144.     public static void main(String[] args) {
  145.         // TODO Auto-generated method stub
  146.         int M,N;
  147.         Scanner lectura= new Scanner(System.in);
  148.         System.out.println("Ingrese la cantidad de filas que quiere que tenga su matriz: ");
  149.         M=lectura.nextInt();
  150.         System.out.println("Ingrese la cantidad de columnas que quiere que tenga su matriz: ");
  151.         N=lectura.nextInt();
  152.        
  153.         System.out.println("--MATRIZ--");
  154.         int [][] MatrizC = new int[M][N];
  155.         cargarMatriz(MatrizC,M,N);
  156.         mostrarMatriz(MatrizC);
  157.         System.out.println("--MATRIZ TRASPUESTA--");
  158.         int [][] MatrizT =traspuestaMatriz(MatrizC,M,N);
  159.         mostrarMatriz(MatrizT);
  160.         menu(MatrizC,MatrizT);
  161.     }
  162.  
  163. }
  164.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement