Está en la página 1de 3

FUNDAMENTOS DE PROGRAMACIÓN

INGENIERO DE TELECOMUNICACIÓN

Sesión 7 – Estructuras Estáticas de Datos: Arrays (II)

o Recuerde crear una carpeta nueva para el proyecto, copiar en ella


el fichero “Teclado.java” y añadirlo al proyecto.

o En la carpeta de Fundamentos de Programación de Telemática


http://www.teleco.upct.es/docencia/material/t2/funprog/curso%200304/practicas/
están disponibles las soluciones de las sesiones anteriores de manera que
no tendrá que partir de cero.

• Ejemplo 1
o Escriba un programa Matriz.java que solicite al usuario por teclado
el número de filas (n) y de columnas (m) que desea que tenga su matriz.
A continuación, solicítele los n*m valores con los que deberá rellenar la
estructura.

o Añada al programa anterior las sentencias necesarias para calcular


el valor máximo, mínimo y medio de los elementos de la matriz.

Ejemplo:

n=3 1 2 3
m=3 Matriz = 4 5 6
7 8 9

El maximo es 9
El minimo es 1
La media es 5.0

• Ejemplo 2 (Opcional)
o Añada al programa anterior las sentencias necesarias para que:
 El usuario introduzca dos matrices de tamaño n x m
(matrices A y B)
 Se cree además otra matriz de tamaño n x m en la que se
almacenará la suma de las dos matrices anteriores (matriz C = A+B)
 Se muestre por pantalla la matriz C

Ejemplo:

n=3 1 2 3 9 8 7
m=3 A= 4 5 6 B = 6 5 4
7 8 9 3 2 1

10 10 10
FUNDAMENTOS DE PROGRAMACIÓN
INGENIERO DE TELECOMUNICACIÓN

C= 10 10 10
10 10 10

Soluciones

public class Matriz {


public static void main (String args[]) {
int matriz [][]; // Matriz bidimensional de enteros
int n; // Numero de filas
int m; // Numero de columnas
int maximo; // Elemento máximo de la matriz
int minimo; // Elemento mínimo de la matriz
int suma; // Suma de los elementos de la matriz
double media; // Media de los elementos de la matriz

System.out.println ("--------------------------------");
System.out.print ("Numero de filas = ");
n = Teclado.readInt();
System.out.print ("Numero de columnas = ");
m = Teclado.readInt();
System.out.println ("--------------------------------");

// Creación de la matriz
matriz = new int [n][m];

// Inicialización de la matriz por teclado


for (int i=0; i<matriz.length; i++) {
for (int j=0; j<matriz[i].length; j++) {
System.out.print ("Elemento ["+i+"]["+j+"] = ");
matriz[i][j] = Teclado.readInt();
}
System.out.println (); // Separador de filas
}

// Calculo de la media de los elementos de la matriz


suma = 0;
maximo = matriz[0][0];
minimo = matriz[0][0];
for (int i=0; i<matriz.length; i++) {
for (int j=0; j<matriz[i].length; j++) {
suma += matriz[i][j];
if (matriz[i][j]>maximo) maximo = matriz[i][j];
if (matriz[i][j]<minimo) minimo = matriz[i][j];
}
}
media = (double)suma / (n*m);
System.out.println ("--------------------------------");
System.out.println ("El maximo es "+maximo);
System.out.println ("El minimo es "+minimo);
System.out.println ("La media es "+media);
System.out.println ("--------------------------------");
}
}
FUNDAMENTOS DE PROGRAMACIÓN
INGENIERO DE TELECOMUNICACIÓN

public class SumaMatrices {


public static void main (String args[]) {
int [][] A, B; // Matrices bidimensional de enteros a sumar
int [][] C; // Matriz suma de las dos anteriores
int n; // Numero de filas
int m; // Numero de columnas

System.out.println ("--------------------------------");
System.out.print ("Numero de filas = ");
n = Teclado.readInt();
System.out.print ("Numero de columnas = ");
m = Teclado.readInt();
System.out.println ("--------------------------------");

// Creación de la matriz
A = new int [n][m];
B = new int [n][m];
C = new int [n][m];

// Inicialización de la matriz A por teclado


for (int i=0; i<A.length; i++) {
for (int j=0; j<A[i].length; j++) {
System.out.print ("A["+i+"]["+j+"] = ");
A[i][j] = Teclado.readInt();
}
System.out.println (); // Separador de filas
}

// Inicialización de la matriz B por teclado


for (int i=0; i<B.length; i++) {
for (int j=0; j<B[i].length; j++) {
System.out.print ("B["+i+"]["+j+"] = ");
B[i][j] = Teclado.readInt();
}
System.out.println (); // Separador de filas
}

// Calculo de la suma de las dos matrices


System.out.println ("La matriz suma de las dos anteriores es:\n");
for (int i=0; i<C.length; i++) {
for (int j=0; j<C[i].length; j++) {
C[i][j] = A[i][j] + B[i][j];
System.out.print (C[i][j]+"\t");
}
System.out.println ();
}
System.out.println ("--------------------------------");
}
}

También podría gustarte