Autor: Cristian Lara
Competencia:Trabajo en equipo. (nivel 1)
Palabras Claves: Java
Descripción de la actividad
Analizar y construir una solución que permita transformar una matriz numérica de NxM en dos vectores. Uno que contenga los números pares y otros los impares. Considere cero (0) como número par.
Solución
Entrada: Dos números enteros mayores que 0, uno para el n° de filas y otro numero para el n° de columnas
Salida: Los pares e impares que estén en la matriz dada por el usuario.
Ejemplos:
Ejemplo 1
Entrada:
Ingrese el número de filas: 2
Ingrese el número de columnas: 3
Salida
par= 96
par= 36
impar: 61
impar: 13
impar: 91
impar: 79
Ejemplo 2
Entrada
ingrese el numero de filas 5
ingrese el numero de columnas 5
Salida
par= 72 par= 26 par= 24 par= 4
par= 40 par= 38 par= 12 par= 14
par= 26 par= 62 par= 30 par= 32
impar: 77 impar: 1 impar: 59 impar: 21
impar: 51 impar: 75 impar: 79 impar: 25
impar: 19 impar: 85 impar: 21 impar: 7
impar: 1
Diagrama de Flujo.
Código
import java.util.Scanner;
public class Main {
public static void main(String[]Args){
int filas; //variable donde guardamos la cantidad de filas
int columnas;//variable donde guardamos la cantidad de filas
int f=0; //variable para bajar de fila
int cont=0;//contamos los numeros pares del arreglo bidimensional
int contImpar=0;
//contamos los numeros impares del arreglo bidimensional
int pos=0; int pos2=0;
Scanner leer= new Scanner(System.in);
//mensaje al usuario para que ingrese los datos el usuario
System.out.println("ingrese el numero de filas");
filas= leer.nextInt();
System.out.println("ingrese el numero de columnas");
columnas= leer.nextInt();
//cremaos el arreglo y le damos el tamaño ingresado por el ususario
int[][] arreglo =new int[filas][columnas];
//guardar los numeros en un arreglo bidimensional
while(f < filas){ //hasta que se llene la "tabla"
//ciclo for para guardar los numeros random
for(int i=0;i<arreglo[f].length; i++){
arreglo[f][i]=(int)(Math.random()*100);
//contamos los numeros pares e impares.
if(arreglo[f][i]%2==0||arreglo[f][i]==0){
cont++;
}
else
{
contImpar++;
}
}//ciclo
f++;//bajamos de fila }//ciclo
int Par[]; Par= new int[cont];
int Impar[]; Impar= new int[contImpar];
//guardamos los numeros pares en un arreglo f=0;
while(f < filas){ for(int p=0;p<arreglo[f].length; p++){
if(arreglo[f][p]%2==0||arreglo[f][p]==0){
Par[pos]=arreglo[f][p]; pos++; }
else{ Impar[pos2]=arreglo[f][p]; pos2++; } } //ciclo for f++; }
//mostramos por pantalla
for(int p=0; p<cont; p++)
{
System.out.println("par= "+Par[p]);}
for(int p=0; p<contImpar; p++){
System.out.println("impar: "+Impar[p]);
}}}}}
Reflexión.
En esta actividad en particular con el uso de arreglos y ciclos nos ayudo a disminuir lineas de código, y así no tener que declarar tantas variables, si no que ahora las guardamos en un solo arreglo dándole la dimensión.
No hay comentarios:
Publicar un comentario