Sunteți pe pagina 1din 13

PROGRAMACION I

ESTRUCTURA ARRAY

JAIRO SEBASTIÁN GARCÍA MORA

YESID JAVIER REINA CLAVIJO

UNIVERSIDAD DE CUNDINAMARCA
2020-03-18
TABLA DE CONTENIDO
1. ¿Que es un arreglo bidimensional?

2. ¿Como funciona un arreglo bidimensional?

3. Crea dos arrays multidimensionales de 2×3 y rellénalos como quieras

(números aleatorios, por teclado o definido al crear el array).

Haz un método que sume los arrays multidimensionales, es decir, la

posición 0, 0 del array1 con la posición del array2 y así sucesivamente, este

método no debe devolver nada, haciendo que deba pasarse el array

multidimensional de suma como parámetro. Muestra el contenido de cada

array multidimensional.

4. Queremos realizar una encuesta a 10 personas, en esta encuesta

indicaremos el sexo (1=masculino, 2=femenino), si trabaja (1=si trabaja, 2=

no trabaja) y su sueldo (si tiene un trabajo, sino será un cero) estará entre

600 y 2000 (valor entero). Los valores pueden ser generados

aleatoriamente. Calcula y muestra lo siguiente:

 Porcentaje de hombres (tengan o no trabajo).

 Porcentaje de mujeres (tengan o no trabajo).

 Porcentaje de hombres que trabajan.

 Porcentaje de mujeres que trabajan.

 El sueldo promedio de los hombres que trabajan.

 El sueldo promedio de las mujeres que trabajan.


1) Arreglo Bidimensional.

Array o Matriz es una estructura que colecciona datos del mismo tipo, para omitir

usar variables para cada uno de ellos, genera un banco lineal donde la cantidad

de almacenamiento se puede declarar en enteros, o dependiendo el tipo de dato,

declararlo como tal en el orden que se quiera tener almacenado. Cuando

hablamos de un arreglo o matriz bidimensional, nos referimos a que dicha matriz

almacena datos en filas y columnas, notando, hace la colección en una tabla axb,

donde a es el numero de filas y b, el número de columnas.

2) Función de un Arreglo Bidimensional.

La estructura Array tiene varias formas de función, puede ser declarado el valor

del dato primitivo, (entero, cadena, carácter, doble, etc.)

int [] arreglo;
En el anterior caso, el arreglo que se declara es de tipo entero, con nombre

“arreglo” y se observa que es unidimensional, pues solo tiene un par de corchetes.

int [][] arreglo; = new int[6][5];

En la línea de código anterior, se declara una matriz bidimensional como bien lo

marcan la cantidad de corchetes, también observamos que es de tipo entero, y el

numero que se encuentra dentro de los corchetes hace referencia a la cantidad de

espacios que puede almacenar en filas y columnas, siendo filas [6] el primer

número declarado, seguido de columnas [5], el segundo.

Las matrices también pueden ser declaradas de inmediato con el valor especifico

en la posición de los arreglos, primero, analizamos como se presenta gráficamente

el anterior arreglo y cual es el numero de ubicación, tanto de fila como columna

para cada uno de ellos.

0,0 0,1 0,2 0,3 0,4

1,0 1,1 1,2 1,3 1,4

2,0 2,1 2,2 2,3 2,4

3,0 3,1 3,2 3,3 3,4

4,0 4,1 4,2 4,3 4,4

5,0 5,1 5,2 5,3 5,4

Los arreglos empiezan tanto en posición “0” para filas como para columnas.
Si quisiéramos almacenar un valor en una casilla especifica podemos declarar la

casilla y enviar el dato a esa posición.

Usemos la casilla resaltada 2.2, lo haremos de la siguiente manera:

arreglo[2][2]=28;

Entonces, el numero entero 28, ha sido almacenado allí.

Podemos declarar los valores de entrada, si por ejemplo queremos llenar la matriz

con enteros desde el uno de derecha a izquierda y de arriba abajo, escribimos el

código de la siguiente manera:

arreglo = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},

{16,17,18,19,20},{21,22,23,24,25},{26,27,28,29,30}};

Las filas han sido separadas por las llaves, dentro de las llaves, los valores se van

separando en columnas, con esto, obtenemos la siguiente matriz:

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

26 27 28 29 30
Si quisiéramos mostrar algún valor por consola utilizaremos el método

“System.out” y llamaremos la posición en la que se encuentra dicho valor.

System.ouy.println(arreglo[5][2]);

Observando la primera tabla, llamar la posición [5][2], es solicitar el valor de la fila

6 columna 3, pues recordemos que el primer valor es [0][0], así que el valor que

muestra por pantalla será 28.

Hay muchos mas métodos para almacenar valores, y otros tipos de dato como lo
son los String, pero eso lo veremos en los códigos que se presentaran en los
siguientes 2 puntos.

3) CODIGO: (Netbeans)

package matriz1;
import java.util.*;
import javax.swing.JOptionPane;

public class Matriz1 {

int caja1 [][];


int caja2 [][];
int caja_suma [][];

Random number = new Random();


public Matriz1(){

caja1 = new int[2][3];


caja2 = new int[2][3];
caja_suma = new int[2][3];

for (int i=0; i<caja1.length; i++){


for (int j=0; j<caja1[i].length; j++){

caja1[i][j]=number.nextInt(30);
}}

for (int i=0; i<caja2.length; i++){


for (int j=0; j<caja2[i].length; j++){

caja2[i][j]=number.nextInt(30);
}}

for (int i=0; i<caja_suma.length; i++){


for (int j=0; j<caja_suma[i].length; j++){

caja_suma[i][j]=caja1[i][j]+caja2[i][j];
}}

public void imprimir_original(int [][] original){


String box = "";
for (int i=0; i<original.length; i++){
for (int j=0; j<original[i].length; j++){

box += original[i][j];
box += " ";

}
box += "\n";
}
if (original == caja1){
JOptionPane.showMessageDialog(null, "Matriz 1" + "\n" + box);

}
if (original== caja2){
JOptionPane.showMessageDialog(null, "Matriz 2" + "\n" + box);

}
}

public void imprimir_suma(int [][] suma){


String resultado = "";
for (int i=0; i<suma.length; i++){
for (int j=0; j<suma[i].length; j++){

resultado += suma[i][j];
resultado += " ";
}
resultado += "\n";
}
JOptionPane.showMessageDialog(null, "Matriz resultante" + "\n" + resultado);

public static void main(String[] args) {

JOptionPane.showMessageDialog(null, "Se sumaran dos Matricez, y se


mostraran tanto las matrices originales, como la matriz resultante de la suma.");
Matriz1 o = new Matriz1();

o.imprimir_original(o.caja1);

o.imprimir_original(o.caja2);

o.imprimir_suma(o.caja_suma);

4) CODIGO: (Netbeans)

package matricez;
import javax.swing.JOptionPane;

public class Matriz2 {


int caja [][];
int m = 0; // mujer
int h = 0; // hombre
int emp =0; // empleado
int g = 0; // genero
int t = 0; // trabajo
int s = 0; // sueldo
int sumSUELDOh = 0; // suma de sueldos de hombres
int sumSUELDOm = 0; // suma de sueldos de mujeres
int promSUELDOh = 0; // promedio sueldo de hombres
int promSUELDOm = 0; // promerdio sueldo de mujeres
int mEMP = 0; // mujeres empleadas
int hEMP =0; // hombres empleados
int PorcentajeMTra = 0; // porcentaje mujeres que trabajan
int PorcentajeHTra = 0; // porcentaje hombres que trabajan

public void Proceso(int [][] caja){

caja = new int [10][3];

for (int i=0; i<caja.length; i++){


for (int j=0; j<caja[i].length; j++){

if(j==2){
if(t==2){s=0;}
else{
do{

s = Integer.parseInt(JOptionPane.showInputDialog(null, "indica el sueldo


del encuestado #"+(i+1) + ":\n\n\n\nValores solo entre 600 y 2000","Recolector de
sueldo", JOptionPane.QUESTION_MESSAGE));
if(g==1){sumSUELDOh += s;}
if(g==2){sumSUELDOm += s;}
if(s<600 | s>2000){JOptionPane.showMessageDialog(null, "Opcion no
valida");}

}while(s<600 | s>2000);
}}
else if(j==1){

do{

t = Integer.parseInt(JOptionPane.showInputDialog(null, "indica el estado


profesional del encuestado #"+(i+1) + ":\n\n\n\n1) Empleado \n2) Desempleado",
"Recolector de estado profesional", JOptionPane.QUESTION_MESSAGE));
if(t<1 | t>2){JOptionPane.showMessageDialog(null, "Opcion no valida");}
if(t==1 & g==1){hEMP++;}
if(t==1 & g==2){mEMP++;}
}while(t<1 | t>2);

}else if (j==0){

do{
g = Integer.parseInt(JOptionPane.showInputDialog(null, "indica el genero
del encuestado #"+(i+1) + ":\n\n\n\n1) Hombre \n2) Mujer", "Recolector de
genero", JOptionPane.QUESTION_MESSAGE));
if(g==1){h+=1;}
if(g==2){m+=1;}
if(g<1 | g>2){JOptionPane.showMessageDialog(null, "Opcion no valida");}

}while(g<1 | g>2);

}}

}
}

public void Impresion(){


int PorcentajeH = h*10;
int PorcentajeM = m*10;

PorcentajeHTra = (hEMP*100)/h;

PorcentajeMTra = (mEMP*100)/m;

if(hEMP!=0){
promSUELDOh = sumSUELDOh/hEMP;
}else{promSUELDOh = 0;}
if(mEMP!=0){
promSUELDOm = sumSUELDOm/mEMP;
}else{promSUELDOm = 0;}
JOptionPane.showMessageDialog(null, "RESULTADOS DE LA
ENCUESTA:\n\n" + "Porcentaje Hombres: " + PorcentajeH + "%\nPorcentaje
Mujeres: " + PorcentajeM + "%\nPorcentaje Hombres Empleados: " +
PorcentajeHTra
+ "%\nPorcentaje Mujeres Empleadas: " + PorcentajeMTra + "%\nSueldo
promedio de Hombres: " + promSUELDOh + "\nSueldo promedio de Mujeres: " +
promSUELDOm, "RESULTADOS ENCUENSTA",
JOptionPane.QUESTION_MESSAGE);
}

public static void main(String[] args) {

Matriz2 o = new Matriz2();


o.Proceso(o.caja);
o.Impresion();

}
}

S-ar putea să vă placă și