Competencia: Aplica las Ciencias de la Ingeniería
Palabras Clave: Ejercicio, Java, Arrays, Capicúa.
Descripción de la Actividad
La actividad que les vamos a mostrar consiste en un ejercicio que dice así:
-9- Analice y resuelva el problema de saber si un arreglo de números enteros tiene al menos 1 numero capicúa.
El programa además de hacer eso...debe pedirle al usuario el tamaño que tendrá el arreglo.
Un numero capicúa es aquel que se lee igual tanto al derecho o al revés.
ejemplo : 12321, 222333444333222, 123454321.
algunos ejemplos serían como:
Entrada: (arreglo 3 espacios) 12321 111 451 -->[P] --> "existen numeros capicúa dentro del arreglo"
Entrada: (arreglo 5 espacios) 111 222 333 444 555 -->[P] --> " NO existen numeros capicúa dentro del arreglo"
Solución
El diagrama de flujo de este problema sería así:Diagrama de Flujo
y el Código en java resultante en base al diagrama de flujo sería este:
import java.util.Scanner;
import java.util.Scanner;
public class Capicua {
public static void main(String[] args) {
int numero;
int falta, numeroInvertido, resto;
Scanner leer = new Scanner(System.in);
System.out.println("ingrese largo del arreglo");
numero = leer.nextInt();
int[] a = new int[numero];
for (int i = 0; i < numero; i++) {
System.out.println("ingrese numero del arreglo " + i);
a[i] = leer.nextInt();
System.out.println("arreglo " + i + "= " + a[i]);
}
for (int j = 0; j < numero; j++) {
if (a[j] >= 0) {
falta = a[j];
numeroInvertido = 0;
resto = 0;
while (falta != 0) {
resto = falta % 10;
numeroInvertido = numeroInvertido * 10 + resto;
falta = falta / 10;
}
if (numeroInvertido == a[j]) {
System.out.println("El espacio "+j+" del arreglo es capicua");
} else {
System.out.println("El espacio "+j+" del arreglo no es capicua");
}
} else {
System.out.println("el espacio "+j+" del arreglo es menor a 0");
}
}
}
}
Si se pudieron dar cuenta, hice más que decir que existía al menos un numero capicúa en el arreglo, mas bien en la salida puse si cada numero era un arreglo o no lo era, lo cual es aún más específico.
Reflexión
Como segunda actividad puesta en mi repositorio de programación, debo decir que estos tipos de ejercicios sirven mucho para poder ejercitar la capacidad de razonar en cuanto a crear programas que satisfagan alguna necesidad. Cabe mencionar que el arreglo mostrado en este problema es "unidimensional", que por otra parte existen arreglos bidimensionales y multidimensionales como lo son las matrices, etc. si tienen alguna duda sobre el problema, no duden en consultarme mediante este blog :).
No hay comentarios:
Publicar un comentario