jueves, 15 de mayo de 2014

Matrices y Vectores en java



Vectores


Programa que muestra diversos elementos de un vector:
public class vect {

            public static void main (String[] args){
                       
                        int edades[] = {26,73,84,52,76,72,37,67,62,73};

                        //Mostrar el primer elemento
                        System.out.println(edades[0]);

                        //Mostrar el último elemento
                        System.out.println(edades[edades.length-1]);

                        //Cambiar el tercer valor y mostrarlo
                        edades[2] = 48;
                        System.out.println(edades[2]);

                        //Mostrar todo el vector
                        for(int i=0; i<edades.length; i++)
                            System.out.print(edades[i]+" ");
                        System.out.println();

                        //Mostrar todo el vector de otra forma
                        for(int edad:edades)
                            System.out.print(edad+" ");
                        System.out.println();
                       
            }
}

EJEMPLO


1- Programa que inicializa un vector de números enteros y muestra el valor más bajo.
La función length devuelve la longitud de una cadena o de un arreglo en un entero por ejemplo:
 int arr[] = new int[5];
System.out.Println(arr.length()); // imprime 5

public class vect2 {
public static void main (String[] args){
           
            int numeros[] = {46,324,54,56,0,98,342,32,46,65,76,54,324,12,54,56};

            int min = numeros[0];
            for(int i=1; i<numeros.length; i++) {
               if(numeros[i] < min)
                  min = numeros[i];
            }

            System.out.println("El valor más pequeño es: "+min);
           
}
}


2 -Escribir un programa java que me permita llenar un vector de 10 posiciones con los datos que el usuario le digite desde el teclado, después imprimir los datos de ese vector.
import java.util.Scanner;
public class vect2 {
    public static void main(String[] args) {
           
            Scanner obj = new Scanner(System.in);
            int A[] = new int[10];
            int i;
            System.out.println("Ingrese el vector");
            for(i=0; i<=9; i++){
                       
                        A[i] = obj.nextInt();
                        }
                       
                        System.out.println("El vector ingresado  es");
            for(i=0; i<=9; i++){
                       
                        System.out.print("-"+A[i]);
            }
           
            }
}

3- Se desea guardar los sueldos de 5 operarios.  Según lo conocido deberíamos definir 5 variables si queremos tener en un cierto momento los 5 sueldos almacenados en memoria. Empleando un vector solo se requiere definir un único nombre y accedemos a cada elemento por medio del subíndice.
import java.util.Scanner;
public class PruebaVector1 {
    private Scanner teclado;
    private int[] sueldos;
            
    public void cargar()
    {
        teclado=new Scanner(System.in);
        sueldos=new int[5];
        for(int f=0;f<5;f++) {
            System.out.print("Ingrese valor de la componente:");
            sueldos[f]=teclado.nextInt();
        }   
    }
    public void imprimir() {
        for(int f=0;f<5;f++) {
            System.out.println(sueldos[f]);
        }
    }
            
    public static void main(String[] ar) {
        PruebaVector1 pv=new PruebaVector1();
        pv.cargar();
        pv.imprimir();
    }}

4- Una empresa tiene dos turnos (mañana y tarde) en los que trabajan 8 empleados (4 por la mañana y 4 por la tarde). Confeccionar un programa que permita almacenar los sueldos de los empleados agrupados por turno. Imprimir los gastos en sueldos de cada turno.


Problemas propuestos

  1. Desarrollar un programa que permita ingresar un vector de 8 elementos, e informe:
    El valor acumulado de todos los elementos del vector.
    El valor acumulado de los elementos del vector que sean mayores a 36.
    Cantidad de valores mayores a 50.
  2. Realizar un programa que pida la carga de dos vectores numéricos enteros de 4 elementos. Obtener la suma de los dos vectores, dicho resultado guardarlo en un tercer vector del mismo tamaño. Sumar componente a componente.
  3. Se tienen las notas del primer parcial de los alumnos de dos cursos, el curso A y el curso B, cada curso cuenta con 5 alumnos.
    Realizar un programa que muestre el curso que obtuvo el mayor promedio general.
  4. Cargar un vector de 10 elementos y verificar posteriormente si el mismo está ordenado de menor a mayor.






ARRAYS (ARREGLOS) MULTIDIMENSIONALES MATRICES:



La siguiente figura representa un array M de 3 filas y 5 columnas:


Pero en realidad una matriz en Java es un array de arrays.
Gráficamente podemos representar la disposición real en memoria del array anterior así:

La longitud del array M (M.length) es 3.
La longitud de cada fila del array (M[i].length) es 5.
Para acceder a cada elemento de la matriz se utilizan dos índices. El primero indica la fila y el segundo la columna.

La definición de una matriz numérica multidimensional se hace de esta forma: La declaración de una matriz tradicional de m x n elementos podría ser:
El número de elementos sería: 3 x 2 = 6, dónde 3 es el número de filas y 2 es el número de columnas.    



/* Ejemplo declaración - aprenderaprogramar.com */
   int[][]  matriz = new int[3][2];
          O alternativamente
   int[][]  matriz;
   matriz = new int[3][2];



Ahora procedemos a cargar la matriz con valores:

matriz[0][0] = 1;
matriz[0][1] = 2;
matriz[1][0] = 3;
matriz[1][1] = 4;
matriz[2][0] = 5;
matriz[2][1] = 6;
·         tipo[][]...nombrematriz=new tipo[s1][s2]...
·         tipo no es más que el tipo de elementos (enteros,reales...)
·         El número de elementos de la matriz viene dado por el producto de s1 por s2 (s1 filas, s2 columnas)


·         Un ejemplo concreto:
·         int[][]m=new int[2][7]
·         Podemos inicializar los elementos de una matriz multidimensional tal y como hacíamos convectores:
·         int matriz[][]={{1, 2, 3 }, { 4, 5,6} };


public class vect2 {
            public static void main (String[] args)
            {
            int a=5,i,j; //declaras variables, en este caso a es el tamaño de la matriz cuadrada
            int matriz[][]=new int[a][a]; // asi se declara una matriz
            for (i=0;i<a;i++)
            {
            for(j=0;j<a;j++)
            {
            matriz[i][j]=(int)(Math.random()*10); // Ingresa un numero aleatorio a la posicion [i][j]
            System.out.print(" "+matriz[i][j]); // Muestra el numero de la posicion [i][j]
            }
            System.out.println(); //Para bajar una linea (En la impresion)
            }
            }
}

public class vect2 {
               public static void main(String arg[]) {
                          
                           String[ ][ ]  nombreAlumno = new String[5][25];
                           
                           nombreAlumno[2][23] = "Pedro Hernández González";
                           
                           System.out.println("El alumno número 24 del curso tercero se llama "+nombreAlumno[2][23]);
                           
                                }
}


No hay comentarios:

Publicar un comentario