Parte 3 Del Trabajo

HOJA DE PRESENTACIÓN 1. Búsqueda en arreglo Dado un arreglo de enteros x y un entero n, encuentre una posición de x en

Views 146 Downloads 6 File size 231KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

HOJA DE PRESENTACIÓN

1. Búsqueda en arreglo Dado un arreglo de enteros x y un entero n, encuentre una posición de x en la que se encuentre n.

package ejercicio1; import java.util.Scanner; public class Ejercicio1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner entrada = new Scanner(System.in); int dim = 0, n = 0; System.out.println("Ingrese una dimensión para el arreglo de enteros: "); String dimension = entrada.nextLine(); dim = Integer.parseInt(dimension); int [] arreglo = new int [dim]; for (int i = 0; i < arreglo.length; i++) { System.out.println("Ingrese un valor para la posición " + i); String valor = entrada.nextLine(); arreglo[i] = Integer.parseInt(valor); } System.out.println("\n\nIngrese el número que desea buscar en el arreglo: "); String numero = entrada.nextLine(); n = Integer.parseInt(numero); encontrarPosicion(arreglo, n); } public static void encontrarPosicion(int[] x, int n) { int ban = 0; for (int i = 0; i < x.length; i++) { if (x[i] == n) { System.out.println("La posisión es " + i); ban = 1; } } if (ban == 0) { System.out.println("El número " + n + " no se encuentra en el arreglo. "); } } }

2. ¿Está ordenado? Dado un arreglo de enteros x, decida si x está ordenado o no de menor a mayor.

package ejercicio2; import java.util.Scanner; public class Ejercicio2 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner entrada = new Scanner(System.in); int dim = 0, n = 0; System.out.println("Ingrese una dimensión para el arreglo de enteros: "); String dimension = entrada.nextLine(); dim = Integer.parseInt(dimension); int [] arreglo = new int [dim]; for (int i = 0; i < arreglo.length; i++) { System.out.println("Ingrese un valor para la posición " + i); String valor = entrada.nextLine(); arreglo[i] = Integer.parseInt(valor); } if (ordenado(arreglo)) { System.out.println("El arreglo está ordenado de menor a mayor."); } else { System.out.println("El arreglo NO está ordenado de menor a mayor."); } } public static boolean ordenado(int[] a) { int ban = 0; for (int i = 0; i < a.length-1; i++) { if (a[i] > a[i+1]) { ban = 1; } } if (ban == 0) { return true; } else { return false; } } }

3. ¿Cuántos diferentes? Dado un arreglo de enteros x, cuente el número de valores diferentes en x.

package ejercicio3; import java.util.Scanner; public class Ejercicio3 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner entrada = new Scanner(System.in); int dim = 0, n = 0; System.out.println("Ingrese una dimensión para el arreglo de enteros: "); String dimension = entrada.nextLine(); dim = Integer.parseInt(dimension); int [] arreglo = new int [dim]; for (int i = 0; i < arreglo.length; i++) { System.out.println("Ingrese un valor para la posición " + i); String valor = entrada.nextLine(); arreglo[i] = Integer.parseInt(valor); } System.out.println("\nCantidad de números diferentes: " + diferentes(arreglo)); } //Validamos cuales de los numeros //Recoremos el arreglo buscando los separaremos de los que son diferentes y public static int diferentes(int []

no esta repetidos son diferentes numeros repetidos que despues contar la diferencia de tamaños cadena) {

int total = cadena.length; boolean bandera = false; String resultado=""; int contar =-1; for(int i=0;i< total; i++){ int c = cadena[i]; for(int j=i+1;j< total; j++){ int b = cadena[j]; if (b == c){ resultado += c + " "; break; }

} } int diferentes = 0; String[] duplicados = resultado.split(" "); diferentes = cadena.length - duplicados.length; return diferentes; } }

4. Mediana Dado un arreglo de reales x, calcule su mediana.

package ejercicio4; import java.util.Scanner; public class Ejercicio4 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner entrada = new Scanner(System.in); int dim = 0, n = 0; System.out.println("Ingrese una dimensión para el arreglo: "); String dimension = entrada.nextLine(); dim = Integer.parseInt(dimension); double [] arreglo = new double [dim]; for (int i = 0; i < arreglo.length; i++) { System.out.println("Ingrese un valor para la posición " + i); String valor = entrada.nextLine(); arreglo[i] = Double.parseDouble(valor); } System.out.println("La mediana de los valores del arreglo es: " + calcularMediana(arreglo)); } public static double calcularMediana(double[] arr) { double acum = 0, cant = 0, mediana = 0; cant = arr.length; for (int i = 0; i < cant; i++) { acum = acum + arr[i]; } mediana = acum / cant; return mediana; } }

5. Palíndromo Un palíndromo es una cadena que se lee de igual manera de izquierda a derecha y de derecha a izquierda. Ejemplos de palíndromos son “sometemos”, “reconocer”, “arenera”, “anilina” y “radar”. Escriba un método que reciba como entrada una cadena y decida si es palíndromo o no.

package ejercicio5; import java.util.Scanner; public class Ejercicio5 { public static void main(String[] args) { // TODO Auto-generated method stub boolean es_Palindrome = false; Scanner entrada = new Scanner(System.in); String palabra; System.out.println("Introduzca una cadena. Le diremos si es un palíndromo."); palabra = entrada.nextLine();

es_Palindrome = EsPalindrome(palabra); if(es_Palindrome){ System.out.println("\n"+palabra +" es una palabra Palíndromo"); }else{ System.out.println("\n"+palabra +" no es una palabra Palíndromo"); } } /** * Pasamos una cadena y nuestra funcion devuelve true si es palíndromo, * false en otro caso. */ public static boolean EsPalindrome(String s) { char[] caracteres = s.toCharArray(); int total_caracteres = caracteres.length; // i, desde el principio // j, desde el final //vamos a comparar cada caracter haber si es igual en cada posisicion el primero con el ultimo, el segundo con el antepenultimo y asi sucesivamente int i=0, j=total_caracteres-1; for (;i=j; } }

6. Anagramas Una cadena S es anagrama de T si contiene los mismos símbolos en las mismas cantidades. Por ejemplo, algunos anagramas de “amor” son “roma”, “omar”, “ramo” y “mora”; además, “aroma” y “nora” no son anagramas de “amor”. Escriba un método que reciba como entrada dos cadenas S y T, y determine si S es anagrama de T.

package ejercicio6; import java.util.Arrays; import java.util.Scanner; public class Ejercicio6 { public static void main(String[] args) { // TODO Auto-generated method stub boolean esAnagrama = false; Scanner entrada = new Scanner(System.in); String palabra1, palabra2; System.out.println("Introduzca la primera cadena. Le diremos si es un anagrama."); palabra1 = entrada.nextLine(); System.out.println("Introduzca la segunda cadena para la comparacion."); palabra2 = entrada.nextLine();

esAnagrama = anagrama(palabra1, palabra2); if(esAnagrama){ System.out.println(palabra1+" es un anagrama de "+palabra2); }else{ System.out.println(palabra1+" no es un anagrama "+palabra2); } } //Ordenamos una cadena de caracteres en order alfabetico public static String ordenar(String cadena) { char[] caracteres = cadena.toCharArray(); Arrays.sort(caracteres); return new String(caracteres); } /** * Pasamos dos cadenas y nuestra funcion devuelve true si es palíndromo, * false en otro caso. */ public static boolean anagrama(String s, String t) { char[] caracteres1 = s.toCharArray(); char[] caracteres2 = t.toCharArray();

String cadena1 = ordenar(s); String cadena2 = ordenar(t); int totalCaracteres1 = cadena1.length(); int totalCaracteres2 = cadena2.length(); //Retornamos false si las palabras tienen tamaños diferentes ya que nom cumpliria la regla if(totalCaracteres1 != totalCaracteres2) return false; // Regresar resultado de la comparación return cadena1.equals(cadena2); } }

7. Contraseña segura Una contraseña se considera segura si su longitud es mayor o igual a 10, tiene al menos una letra (A-Z, a-z), tiene al menos un dígito (0-9), y tiene al menos un símbolo diferente a letras o dígitos. Escriba un programa que reciba como entrada una cadena y decida si ésta corresponde a una contraseña segura.

package ejercicio7; import java.util.Scanner; public class Ejercicio7 { public static void main(String[] args) { // TODO Auto-generated method stub // Cadenas de posibles caracteres que contendrá la contraseña generada String String String String

alfabeto1 alfabeto2 alfabeto3 alfabeto4

= = = =

"ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"; "abcdefgehijlkmnñoprstuvwxyz"; "1234567890"; "@#!$€&[]()/*-.";

boolean esAnagrama = false; Scanner entrada = new Scanner(System.in); String palabra = ""; int validacion1, validacion2, validacion3, validacion4, validacion5, total; System.out.println("Introduzca una posible contraseña. Le diremos si se considera segura."); palabra = entrada.nextLine(); int totalCaracteres = palabra.length(); validacion1 validacion2 validacion3 validacion4 validacion5

= = = = =

validar(palabra, alfabeto1); validar(palabra, alfabeto2); validar(palabra, alfabeto3); validar(palabra, alfabeto4); validarLongitud(palabra);

//Tenemos las 5 validaciones para que sea una contraseña segura cada una retorna 1 cuando se cumple total = validacion1 + validacion2 + validacion3 + validacion4 + validacion5; if(total == 5){ System.out.println("Es una contraseña segura "); }else{ System.out.println("No es una contraseña segura "); } }

//Validamos si la contraseña es segura public static int validar(String cadena, String alfabeto) { char[] caracteres = cadena.toCharArray(); int totalCaracteres = caracteres.length; boolean bandera = false; int contar = 0; for(int i=0;i< totalCaracteres; i++){ //char c = caracteres[i]; String c = String.valueOf(caracteres[i]); if (String.valueOf(alfabeto).contains(c)) { contar++; break; } } return contar; } //Validamos si la longitud de la contraseña es segura public static int validarLongitud(String cadena) { char[] caracteres = cadena.toCharArray(); int totalCaracteres = caracteres.length; int contar = 0; if(totalCaracteres >= 10) contar = 1; return contar; } }

8. Zapatico cochinito Un grupo de hermanos se disponía a jugar fútbol cuando su mamá les ordenó lavar los platos. Como esta tarea puede ser realizada por una sola persona, decidieron escoger al azar uno de ellos, y así el resto podría ir a jugar. Los niños resolvieron usar el juego zapatico cochinito como mecanismo de selección del “lavaplatos”. En este juego los niños forman un círculo y comienzan a enumerarse en el sentido de las manecillas de reloj hasta llegar a un número k previamente escogido. El niño número k sale del juego y se repite el proceso comenzando a contar desde el niño a la izquierda del que acabó de salir. El juego termina cuando todos los niños menos uno, el “lavaplatos”, han salido del juego. Su tarea es escribir un programa que reciba como entradas el número k y un arreglo de cadenas con los nombres de los niños, e imprima una cadena conteniendo el nombre del niño escogido mediante el juego. Suponga que los niños comienzan a enumerarse desde el niño en la posición 0 del arreglo. El niño en la posición i+1 está justo a la izquierda del niño en la posición i, y el niño en la posición 0 está justo a la izquierda del niño en la última posición del arreglo.

package ejercicio8; import java.util.Scanner; public class Ejercicio8 { public static void main(String[] args) { // TODO Auto-generated method stub //String[] nombres = new String[]{"Hugo", "Paco", "Luis", "Pedro", "Juan", "Manuel", "Jacinto", "Rafa"}; //cadena de nombres estáticos Scanner entrada = new Scanner(System.in); System.out.println("Ingrese un número 'k' para el conteo: "); String valorK = entrada.nextLine(); int k = Integer.parseInt(valorK); System.out.println("Ingrese la cantidad de niños: "); String dimension = entrada.nextLine(); int dim = Integer.parseInt(dimension); String [] nombres = new String [dim]; for (int i = 0; i < nombres.length; i++) { System.out.println("Ingrese el nombre N°" + i); nombres[i] = entrada.nextLine(); } int cant = nombres.length; String[] resultado = recorridoCircular(nombres, k); String[] resultado2; while (cant > 2) { if(cant != 3)

resultado2 = recorridoCircular(salida(resultado,0), k); else resultado2 = salida(resultado,0); /*Imprime el arreglo con los niños que van quedando en el juego * for(int i = 0;i