Bloque 04 Master Sobre Arrays
Bloque 04 Master Sobre Arrays
Bloque 04 Master Sobre Arrays
EJERCICIO 2.
public static void main(String[] args) {
int posIni, posFin;
int a[] = UtilsArrays.creaArrayNumerosAzar(10, 0, 9);
UtilsArrays.mostrarArray(a);
do {
posIni = Utils.obtenerEnteroEntreLimites("Introduzca posición
Inicial: ", 0, 9);
posFin = Utils.obtenerEnteroEntreLimites("Introduzca posición
Final: ", 0, 9);
if (posIni >= posFin) {
System.out.println("Error. La posición inicial no puede
ser mayor que "
+ " la posición final");
}
} while (posIni >= posFin);
a[0] = aux;
UtilsArrays.mostrarArray(a);
}
1
EJERCICIO 6.
2
for (int i = yAlfil + 1, j = xAlfil -1; i < tablero.length && j > -
1 ; i++, j--) {
tablero[i][j] = 1;
}
UtilsArrays.mostrarMatriz(tablero);
}
/**
*
* @param array
* @return
*/
public static int valorPosicionMediaDeArray (int array[]) {
if (array.length % 2 == 1) {
return array[array.length / 2];
}
else { // El array tiene una longitud par, se devuelve -1
return -1;
}
}
3
EJERCICIO 2.
/**
*
* @param args
*/
public static void main(String[] args) {
int array[] = new int[20];
int contadorAprobados = 0;
float porcentajeAprobados = 0;
/**
*
* @param array
*/
public static void inicializaArrayConNumerosAzar(int array[]) {
for (int i = 0; i < array.length; i++) {
4
array[i] = (int) Math.round(Math.random() * 10);
}
}
/**
*
* @param array
*/
public static void visualizaArray(int array[]) {
System.out.print("Contenido del array: ");
for (int i = 0; i < array.length; i++) {
System.out.print(" " + array[i]);
}
System.out.println();
}
EJERCICIO 3.
public static void main(String[] args) {
float array[] = new float[20];
int contador = 0;
// Creo el array
for (int i = 0; i < array.length; i++) {
// Para crear el número flotante sumo una parte entera entre 0
y 100 y una
// parte decimal entre 0 y 100, dividida entre 100.
array[i] = numeroAzar() + numeroAzar() / 100f;
}
// Muestro el array
muestraArray(array);
5
}
}
/**
*
* @return
*/
public static int numeroAzar () {
return (int) Math.round(Math.random() * 100);
}
/**
*
* @param array
*/
public static void muestraArray(float array[]) {
System.out.println("Contenido del array: ");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
EJERCICIO 4.
public class Ejercicio04_Matrices {
/**
*
* @param args
*/
public static void main(String[] args) {
6
int matriz[][] = new int[][] { {1, 0, 0, 0,
0},
{0, 7, 0,
0, 0},
{0, 0, 6,
0, 0},
{0, 0, 0,
18, 0},
{0, 0, 0,
0, 19}};
// inicializaMatriz(matriz);
mostrarMatriz(matriz);
/**
*
* @param matriz
*/
public static void inicializaMatriz (int matriz[][]) {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
matriz[i][j] = Utils.obtenerNumeroAzar();
}
}
}
7
/**
*
* @param matriz
*/
public static void mostrarMatriz (int matriz[][]) {
System.out.println("Contenido de la matriz");
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j] + "\t");
}
System.out.println();
}
}
/**
*
* @param matriz
* @return
*/
public static boolean esMatrizPositiva (int matriz[][]) {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
if (matriz[i][j] < 0) {
return false;
}
}
}
return true;
}
8
/**
*
* @param matriz
* @return
*/
public static boolean esMatrizDiagonal (int matriz[][]) {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
if (i != j && matriz[i][j] != 0) {
return false;
}
}
}
return true;
}
/**
*
* @param matriz
* @return
*/
public static boolean esMatrizTriangularSuperior (int matriz[][]) {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < i; j++) {
if (matriz[i][j] != 0) {
return false;
}
}
}
return true;
}
9
for (int i = 0; i < matriz.length; i++) {
// Voy a suponer que no hay ceros en esta línea
boolean hayCeroEnLinea = false;
// Comienzo a buscar un cero en cada línea
for (int j = 0; j < matriz[i].length; j++) {
if (matriz[i][j] == 0) {
hayCeroEnLinea = true;
break;
}
}
// Cuando llego a esta línea de código tengo una variable
booleana que
// me indica si hay o no al menos un cero en la línea
if (!hayCeroEnLinea) {
return false;
}
}
10
/**
*
* @param matriz
* @return
*/
public static int[] arrayFromMatriz (int matriz[][]) {
int array[] = new int[matriz.length * matriz[0].length];
int k = 0;
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
array[k] = matriz[i][j];
k++;
}
}
return array;
}
/**
*
* @param matriz
* @return
*/
public static boolean esMatrizSimetrica (int matriz[][]) {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
if (i != j && matriz[i][j] != matriz[j][i]) {
return false;
}
}
}
return true;
}
11
/**
*
* @param matriz
* @return
*/
public static int[][] getMatrizTraspuesta (int matriz[][]) {
int traspuesta[][] = new int[matriz[0].length][matriz.length];
return traspuesta;
}
/**
*
* @param matriz
* @return
*/
public static int[][] getMatrizOpuesta (int matriz[][]) {
int opuesta[][] = new int[matriz.length][matriz[0].length];
return opuesta;
}
12
public static int[][] removeRowFromMatriz (int matriz[][], int numRow) {
int newMatriz[][] = new int[matriz.length-1][matriz[0].length];
int k = 0;
return newMatriz;
}
Bloque 06 - Por entretenernos un rato
EJERCICIO 1.
/**
*
* @param args
*/
public static void main(String[] args) {
// Declaración de variables
int apuesta[] = new int[7];
boolean numEncontradoEnPosicionesPrevias;
13
// No sé cuántas veces tendré que genera un número al azar para
asegurarme
// de que no existe en los valores que se sitúan a la izquierda
de la
// posición marcada por el valor de la "i".
do {
numEncontradoEnPosicionesPrevias = false;
apuesta[i] = (int) Math.round(Math.random() * (49 - 1) +
1);
EJERCICIO 2.
/**
*
* @param args
*/
public static void main(String[] args) {
// Declaración de variables
char matriz[][] = new char[10][30];
14
int asteriscosEnCadaLinea;
// Imprimo en consola
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]);
}
System.out.println();
}
}
EJERCICIO 2.
15
int numAzar, suma = 0, contador = 0;
float media;
do {
numAzar = (int) Math.round(Math.random() * 1000);
suma += numAzar;
contador++;
media = suma / (float) contador;
} while (media < 499.5 || media > 500.5);
16
posicionAzarFila = (int) Math.round(Math.random() * (matriz.length -
2 - 1) + 1);
posicionAzarColumna = (int) Math.round(Math.random() *
(matriz[0].length - 2 - 1) + 1);
// Coloco el cero
matriz[posicionAzarFila][posicionAzarColumna] = '0';
// Imprimo en consola
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]);
}
System.out.println();
}
EJERCICIO 5.
public static void main(String[] args) {
// Declaración de variables
char matriz[][] = new char[20][10];
int probabilidad50;
17
probabilidad50 = (int) Math.round(Math.random());
if (probabilidad50 == 0) {
matriz[i][j] = '0';
}
else {
matriz[i][j] = '1';
}
}
}
}
// Imprimo en consola
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]);
}
System.out.println();
}
}
18