Está en la página 1de 14

PROGRAMACIÓN DE COMPUTADORES GRUPO 1

ENTREGA NUMERO 3. SEMANA 7

INTEGRANTES DEL SUBGRUPO 6

ELADIO JAIME BOHÓRQUEZ ACOSTA


CÓDIGO: 2011982878

YENI JARAMILLO GIRALDO


CÓDIGO: 2011980514

MELO LANCHEROS FRANK ESTIBEN


CÓDIGO: 2011981973

ANDREA CAROLINA SERRATO CHINCHILLA


CÓDIGO:2010650067
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.

PROGRAMA
package programaciónsemana7;
import java.util.Scanner;
public class Ejemplo {

public static void main(String[]args) {


Scanner sc = new Scanner(System.in);
System.out.println("Ingrese el tamaño del arreglo");
int tam = sc.nextInt();
int[]nums = new int[tam];
System.out.println("Ingrese los " + tam +" números");
for(int i = 0; i < nums.length; i++) {
nums[i] = sc.nextInt();
}
int mayor = nums[0];
int menor = nums[0]; int num = 0;
for(int i = 0; i < nums.length; i++) {
num = nums[i];
if(num > mayor mayor = num;
if(num < menor) menor = menor; /
}
int cantMayor = 0;
int cantMenor = 0;
for(int j = 0; j < nums.length; j++) {
num = nums[j];
if(num == mayor)
cantMayor++;
if(num == menor)
cantMenor++;
}
System.out.println();
System.out.println("El mayor número es: " + mayor + " y se repite
"+ cantMayor + " veces");
System.out.println("El menor número es: " + menor + " y se repite
"+ cantMenor + " veces");
}
}

SOLUCIÓN
2. ¿ESTÁ ORDENADO? Dado un arreglo de enteros x, decida si x está ordenado
o no de menor a mayor.
PROGRAMA

package programaciónsemana7;
import java.util.Scanner;
public class EstaOrdenado {

public static void main(String[] args) {


Scanner teclado = new Scanner(System.in);
int arreglo[]=new int [30];
int limite,i,j,aux;
System.out.print("Ingrese la cantidad de elementos X para el
arreglo:");
limite=teclado.nextInt();
for(i=0;i<limite;i++) {
System.out.print("x[" + (i+1) + "] = " );
arreglo[i]=teclado.nextInt();
}
for (i=0;i<limite;i++) {
for (j=i+1;j<limite;j++) {
if (arreglo [i]>arreglo[j]) {
aux=arreglo[i];
arreglo[i]=arreglo[j];
arreglo[j]=aux;
}}}
System.out.println("Imprima arreglo");
System.out.print("Arreglo = {");
for (i=0;i<limite;i++) {
System.out.print(arreglo[i]+" ,");
}
System.out.print(" } ");
System.out.println("El arreglo esta ordenado de Menor a Mayor");

}}

SOLUCIÓN
3. ¿CUÁNTOS DIFERENTES? Dado un arreglo de enteros x, cuente el número de
valores diferentes en x.
PROGRAMA
package ejercicio3;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Diferentes {


private static Scanner entrada = new Scanner(System.in);

public static void main(String[] args) {


int cantidadEnteros;

do {
System.out.print("Digite la cantidad de enteros: ");
cantidadEnteros = Integer.parseInt(entrada.nextLine());

if (cantidadEnteros <= 0) {
System.out.println();
System.out.println("MENSAJE: Debe digitar un
número entero.");
System.out.println();
}
} while (cantidadEnteros <= 0);

int[] x = new int[cantidadEnteros];


System.out.println();

for (int i = 0; i < x.length; i++) {


System.out.print("Digite un número entero: ");
x[i] = Integer.parseInt(entrada.nextLine());

System.out.println();
}

System.out.println();

int resultado = contarValoresDiferentes(x);

System.out.printf("Hay %d valores diferentes.\n", resultado);


}

private static int contarValoresDiferentes(int[] x) {


List<Integer> diferentes = new ArrayList<>();

for (int i = 0; i < x.length; i++) {


if (!diferentes.contains(x[i])) {
diferentes.add(x[i]);
}
}

return diferentes.size();
}
}

SOLUCIÓN
4. MEDIANA Dado un arreglo de reales x, calcule su mediana.
PROGRAMA

package ejercicio4;

import java.util.Scanner;

public class Mediana {

private static Scanner entrada = new Scanner(System.in);

public static void main(String[] args) {


int cantidadEnteros;

do {
System.out.print("Digite la cantidad de enteros: ");
cantidadEnteros = Integer.parseInt(entrada.nextLine());

if (cantidadEnteros <= 0) {
System.out.println();
System.out.println("MENSAJE: Debe digitar un
número entero.");
System.out.println();
}
} while (cantidadEnteros <= 0);

double[] x = new double[cantidadEnteros];

System.out.println();
for (int i = 0; i < x.length; i++) {
System.out.print("Digite un número entero: ");
x[i] = Double.parseDouble(entrada.nextLine());

System.out.println();
}

System.out.println();

ordenarArreglo(x);

double resultado = calcularMediana(x);

System.out.println("La mediana es: " + resultado);


}

private static double calcularMediana(double[] x){


double mediana;
if(x.length % 2 == 0){
double sumaMedios = x[x.length/2] + x[x.length/2 - 1];
mediana = (double)sumaMedios / 2;
} else {
mediana = x[x.length/2];
}

return mediana;
}

private static void ordenarArreglo(double[] x) {


double temp;
for (int i = 0; i < x.length - 1; i++) {
for (int j = 0; j < x.length - i - 1; j++) {
if (x[j + 1] < x[j]) {
temp = x[j + 1];
x[j + 1] = x[j];
x[j] = temp;
}
}
}
}
}
SOLUCIÓN
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.
PROGRAMA

SOLUCIÓN

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.
PROGRAMA
import java. util. Scanner;
public class contraseñasegura {
public static void main (String [] args) {

String mayuscula = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";


String minuscula = "abcdefgehijlkmnñoprstuvwxyz";
String numeros = "1234567890";
String caracteres = "@#! $€&[]()/*-.";

boolean esAnagrama = false;


Scanner entrada = new Scanner (System.in);
String palabra = "";
int validacion1, validacion2, validacion3, validacion4, validacion5,
total;
System.out.println("Digite la contraseña. Le confirmaremos si es
contraseña segura.");
palabra = entrada. nextLine ();
int totalCaracteres = palabra. length ();
validacion1 = validar (palabra, mayuscula);
validacion2 = validar (palabra, minuscula);
validacion3 = validar (palabra, numeros);
validacion4 = validar (palabra, caracteres);
validacion5 = validarLongitud (palabra);
total = validacion1 + validacion2 + validacion3 + validacion4 +
validacion5;
if (total == 5) {
System.out.println("Si es una contraseña segura ");
} else {
System.out.println("No es una contraseña segura ");
}
}

//comprobamos 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;
}
//comprobamos 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;
}
}

SOLUCIÓN
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.
PROGRAMA
package zapatico;
import java.util.Scanner;
public class zapaticocochinito {
public static void main (String [] args) {
//String [] nombres = new String [] {"Julieta", "Camila", "Sofia", "Sara",
"Sandra", "Maria", "Emanuel", "Cris"}; //cadena de nombres estáticos
Scanner entrada = new Scanner (System.in);
System.out.println(" Ingrese un valor ‘k' para el juego: ");
String valorK = entrada. nextLine ();
int k = Integer.parseInt(valorK);

System.out.println("Ingrese la cantidad de participantes: ");


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("Digite el nombre # " + 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<resultado2.length; i++) {
* System.out.print((resultado2[i]+" "));} */
resultado = resultado2;
cant--;
}
if (cant == 2) {
if (k == 1) {
resultado2 = salida(resultado,1);
} else {
if (k % 2 == 0)
resultado2 = salida(resultado,0);
else
resultado2 = salida(resultado,1);
}
for (int i = 0; i<resultado2.length; i++) {
System.out.print("\n El 'lavaplatos' es "+resultado2[i]+". ");
}
}
}
public static String [] salida (String [] arr, int toRemove) {
int newLength = arr. length;

newLength--;

String [] result = new String[newLength];


int count = 0;
for (int i = 0; i < arr. length; i++)
{
if (¡i! = toRemove) {
result[count] = arr[i];
count++;
}
}
return result;
}
private static String [] recorridoCircular (String [] array, int
startIndex) {
StringBuilder sb = new StringBuilder ();
int currentIndex = startIndex;
int newLength = array. length;
String [] result = new String[newLength];

int temp = 0;
try {
do {
if (currentIndex > array. length - 1) {
currentIndex = 0;
}
result[temp]=array[currentIndex++];
temp++;
} while (¡currentIndex! = startIndex);
}
catch (Exception e) {
System.out.println(e);
}
return result;
}
}
SOLUCIÓN

También podría gustarte