Вы находитесь на странице: 1из 16

Gua de Ejercicios N4 CE500 - Herramientas de Programacin Prof.: Gabriela Tapia Jelcic gabriela@ucn.cl 1.

Escribir un programa que para un vector de N nmeros enteros, muestre la cantidad de nmeros que son mayores que 40 y su posicin en el vector. public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int mayoresCuarenta = 0; int[] vector = new int[cantidad]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor:"); vector[i] = Lectura.getInt(); if (vector[i] > 40) { mayoresCuarenta++; } } System.out.println("Hay " + mayoresCuarenta + " nmero mayores a 40 y son:"); for (int i = 0; i < cantidad; i++) { if (vector[i] > 40) { System.out.println("Posicin: " + i + " valor: " + vector[i]); } } }

1 de 16

2. Escriba un programa que permita crear un vector de N nmeros enteros. Adems, debe mostrar por pantalla: a. Cantidad de nmeros pares. b. Listado de los nmeros pares. c. Cantidad de nmero impares. d. Listado de nmeros impares.

public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int cantidadPares = 0; int cantidadImpares = 0; int[] vector = new int[cantidad]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor:"); vector[i] = Lectura.getInt(); if (vector[i] % 2 == 0) { cantidadPares++; } else { cantidadImpares++; } } System.out.println("Hay " + cantidadPares + " nmero pares y son:"); for (int i = 0; i < cantidad; i++) { if (vector[i] % 2 == 0) { System.out.println("Posicin: " + i + " valor: " + vector[i]); } } System.out.println("Hay " + cantidadImpares + " nmero impares y son:"); for (int i = 0; i < cantidad; i++) { if (vector[i] % 2 != 0) { System.out.println("Posicin: " + i + " valor: " + vector[i]); } } }

2 de 16

3. Leer un vector de N datos y realizar lo siguiente: a. Promedio de los nmeros pares b. Promedio de los nmeros impares c. Suma de los elementos que ocupa las posiciones pares d. Suma de los elementos que ocupan las posiciones impares public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int SumaPares = 0; int SumaImpares = 0; int SumaElementosPosicionesImpares = 0; int SumaElementosPosicionesPares = 0; int cantidadPares = 0; int cantidadImpares = 0; int[] vector = new int[cantidad]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor:"); vector[i] = Lectura.getInt(); if (i % 2 == 0) { SumaElementosPosicionesPares = SumaElementosPosicionesPares + vector[i]; } else { SumaElementosPosicionesImpares = SumaElementosPosicionesImpares + vector[i]; } if (vector[i] % 2 == 0) { cantidadPares++; SumaPares = SumaPares + vector[i]; } else { cantidadImpares++; SumaImpares = SumaImpares + vector[i]; } } System.out.println("Promedio numeros pares: " + SumaPares / cantidadPares); System.out.println("Promedio numeros impares: " + SumaImpares / cantidadImpares); System.out.println("Suma elementos posiciones pares: " + SumaElementosPosicionesPares); System.out.println("Suma elementos posiciones impares: " + SumaElementosPosicionesImpares); }
3 de 16

4. Escribir un programa que para un vector de N nmeros enteros, muestre: a. Promedio de los nmeros. b. Cantidad de nmeros mayores que el promedio. c. Listado de los nmeros mayores que el promedio. public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int cantidadMayorPromedio = 0; int sumaNumeros = 0; double promedio = 0; int[] vector = new int[cantidad]; int[] vectorMayorPromedio = new int[cantidad]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor:"); vector[i] = Lectura.getInt(); sumaNumeros = sumaNumeros + vector[i]; } promedio = sumaNumeros / cantidad; System.out.println("El promedio es: " + promedio); for (int i = 0; i < cantidad; i++) { if (vector[i] > promedio) { vectorMayorPromedio[cantidadMayorPromedio] = vector[i]; cantidadMayorPromedio++; } } System.out.println("Hay " + cantidadMayorPromedio + " nmeros mayores que el promedio, y son: "); for (int i = 0; i < cantidadMayorPromedio; i++) { System.out.println(vectorMayorPromedio[i]); } }

4 de 16

5. Escribir un programa que para un vector de N nmeros enteros, muestre: a. Cantidad de ceros. b. Suma de los nmeros positivos c. Suma de los nmeros negativos.

public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int cantidadCeros = 0; int sumaNegativos = 0; int sumaPositivos = 0; int[] vector = new int[cantidad]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor:"); vector[i] = Lectura.getInt(); if (vector[i] == 0) { cantidadCeros++; } else { if (vector[i] > 0) { sumaPositivos = sumaPositivos + vector[i]; } else { sumaNegativos = sumaNegativos + vector[i]; } } } System.out.println("Cantidad de ceros: " + cantidadCeros); System.out.println("Suma Negativos: " + sumaNegativos); System.out.println("Suma Positivos: " + sumaPositivos); }

5 de 16

6. Escribir un programa que para 2 arreglos de N elementos, muestre la frase son iguales si los arreglos tiene los mismos elementos en las misma posiciones y muestre la frase son diferentes en caso que no tengan los mismos elementos en la misma posicin. public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int[] vectorUno = new int[cantidad]; int[] vectorDos = new int[cantidad]; boolean sonIguales = true; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector 1:"); vectorUno[i] = Lectura.getInt(); } for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector 2:"); vectorDos[i] = Lectura.getInt(); } for (int i = 0; i < cantidad; i++) { if (vectorUno[i]!=vectorDos[i]){ sonIguales=false; } } if (sonIguales){ System.out.println("Los vectores son iguales"); }else{ System.out.println("Los vectores son distintos"); } }

6 de 16

7. Escribir un programa que para un vector de N nmeros enteros escriba SI si el vector esta ordenado ascendentemente o NO si el vector no est ordenado. public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int[] vector = new int[cantidad]; int anterior = 0; boolean estaOrdenado = true; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector:"); vector[i] = Lectura.getInt(); } for (int i = 0; i < cantidad; i++) { if (anterior > vector[i] && i != 0) { estaOrdenado = false; } anterior = vector[i]; } if (estaOrdenado) { System.out.println("SI esta ordenado"); } else { System.out.println("NO esta ordenado"); } }

7 de 16

8. Escribir un programa que dado un arreglo de N nmeros enteros, Lea un numero cualquiera y lo busque en el vector, si lo encuentra debe mostrar la posicin donde est ubicado. Si no lo encuentra, debe escribir el mensaje No se encuentra. public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int[] vector = new int[cantidad]; boolean existe = false; int[] posiciones = new int[cantidad]; int cantidadPosiciones = 0; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector:"); vector[i] = Lectura.getInt(); } System.out.println("Ingrese el valor a buscar: "); int valorBuscado = Lectura.getInt(); for (int i = 0; i < cantidad; i++) { if (vector[i] == valorBuscado) { existe = true; posiciones[cantidadPosiciones] = i; cantidadPosiciones++; } } if (existe) { System.out.println("El nmero esta en el vector, en la(s) posicion(es): "); for (int i = 0; i < cantidadPosiciones; i++) { System.out.println(posiciones[i]); } } else { System.out.println("No se encuentra"); } }

8 de 16

9. Escribir un programa que dados 2 arreglos de N nmeros enteros, multiplique el primer elemento del un vector con el ltimo elemento del ltimo vector y luego el segundo elemento del primer vector por el antepenltimo elemento de del ltimo vector y as sucesivamente. El resultado debe guardarlo en un tercer vector. Mostrar el vector resultado. Ejemplo: a. Vector1={1,2,3,4,5,6,7} b. Vector2={2,1,3,4,2,2,2} c. Resultado={2,4,6,16,15,6,14} public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int[] vectorUno = new int[cantidad]; int[] vectorDos = new int[cantidad]; int[] vectorResultado = new int[cantidad]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector 1:"); vectorUno[i] = Lectura.getInt(); } for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector 2:"); vectorDos[i] = Lectura.getInt(); } int k = cantidad - 1; System.out.println("El resultado es:"); for (int i = 0; i < cantidad; i++) { vectorResultado[i] = vectorUno[i] * vectorDos[k]; System.out.println(vectorResultado[i]); k--; } }

9 de 16

10. Escribir un programa que dado un arreglos de N nmeros enteros de 0 a 15, Calcule la frecuencia con que se repiten los elementos del vector. Por ejemplo, para el siguiente vector X={8,4,5,5,8,8,9} la respuesta sera la siguiente : Nmero Frecuencia 8 3 4 1 5 2 9 1

public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); int[] vector = new int[cantidad]; int[] vectorFrecuencias = new int[15]; for (int i = 0; i < cantidad; i++) { System.out.println("Ingrese un valor para la posicin " + i + " el Vector :"); vector[i] = Lectura.getInt(); vectorFrecuencias[vector[i]]++; } for (int i = 0; i < 15; i++) { if (vectorFrecuencias[i] > 0) { System.out.println("El nmero " + i + " esta " + vectorFrecuencias[i] + " veces"); } } }

10 de 16

11. Escribir un programa que lea y guarde las notas de un grupo de N alumnos de un curso. Cree un vector con los nombres de los aprobados (nota >=4) y otro con los nombres de los reprobados. Se desea obtener como informacin de salida: a. Un listado de los nombres de los alumnos aprobados. b. Las 2 mayores calificaciones y los nombres de los alumnos que las obtuvieron. c. Un listado con los nombres de los alumnos que reprobaron public static void main(String[] args) { System.out.println("Ingrese la cantidad de datos:"); int cantidad = Lectura.getInt(); double[] notas = new double[cantidad]; String[] reprobados = new String[cantidad]; String[] aprobados = new String[cantidad]; int cantidadAprobados = 0; int cantidadReprobados = 0; String nombre; double notaMayor1 = 0; String nombreMayor1 = ""; double notaMayor2 = 0; String nombreMayor2 = ""; double auxNota = 0; String auxNombre; for (int i = 0; i < cantidad; i++) { System.out.print("Ingrese El nombre del alumno " + i + ": "); nombre = Lectura.getString(); System.out.print("Ingrese la nota del alumno " + i + ": "); notas[i] = Lectura.getDouble(); if (notas[i] >= 4) { aprobados[cantidadAprobados] = nombre; cantidadAprobados++; } else { reprobados[cantidadReprobados] = nombre; cantidadReprobados++; } if (notas[i] > notaMayor1) { auxNota = notaMayor1; auxNombre = nombreMayor1; notaMayor1 = notas[i]; nombreMayor1 = nombre; } else { auxNota = notas[i]; auxNombre = nombre; }
11 de 16

if (auxNota > notaMayor2) { notaMayor2 = auxNota; nombreMayor2 = auxNombre; } } System.out.println("Los alumnos reprobados son: "); for (int i = 0; i < cantidadReprobados; i++) { System.out.println(" - " + reprobados[i]); } System.out.println("Los alumnos aprobados son: "); for (int i = 0; i < cantidadAprobados; i++) { System.out.println(" - " + aprobados[i]); } System.out.println("Las mayores calificaciones son: "); System.out.println(nombreMayor1 + " con nota: " + notaMayor1); System.out.println(nombreMayor2 + " con nota: " + notaMayor2); }

12 de 16

12. El dueo de una cadena de tiendas de artculos deportivos desea controlar sus ventas por medio de un programa. Para eso le pide disear un programa que lo ayude con las ventas. Al inicio del da, ingresa los cdigos de los artculos, su nombre y su precio. Se sabe que en la tienda se venden 8 tipos de artculos y los cdigos son de 1 a 8. Durante el da, cada vez el se venda un articulo, el vendedor debe ingresar el cdigo y la cantidad vendida. Al final del da (considere fin de datos cdigo=-1) el programa debe mostrar. a. Listado de los artculos (nombres) y la cantidad vendida. b. Total del las ventas del da (en pesos) c. Nombre del artculo que genera ms ingresos y la cantidad vendida. public static void main(String[] args) { String[] nombreArticulos = new String[8]; int[] precio = new int[8]; int[] cantidadVendida = new int[8]; int codigo, cantidad, totalVentas, ventaArticulo, posicionArticuloMayorVenta, mayorVenta; totalVentas = 0; mayorVenta = 0; posicionArticuloMayorVenta = 0; System.out.println("Ingreso de Articulos"); for (int i = 0; i < 8; i++) { System.out.print("Ingrese El nombre del articulo " + (i+1) + ": "); nombreArticulos[i] = Lectura.getString(); System.out.print("Ingrese el precio de " + nombreArticulos[i] + ": "); precio[i] = Lectura.getInt(); } System.out.println("Sistema de Ventas"); System.out.print("Codigo de articulo: "); codigo = Lectura.getInt(); while (codigo != -1) { if (codigo >= 1 && codigo <= 8) { System.out.print("Ingrese la cantidad: "); cantidad = Lectura.getInt(); cantidadVendida[codigo - 1] = cantidadVendida[codigo - 1] + cantidad; } System.out.print("Codigo de articulo: "); codigo = Lectura.getInt(); } System.out.println("Listado de los artculos y la cantidad vendida"); for (int i = 0; i < 8; i++) { System.out.println(nombreArticulos[i] + ": " + cantidadVendida[i]); ventaArticulo = cantidadVendida[i] * precio[i];
13 de 16

totalVentas = totalVentas + ventaArticulo; if (ventaArticulo > mayorVenta) { mayorVenta = ventaArticulo; posicionArticuloMayorVenta = i; } } System.out.println("El total de ventas del da son: " + totalVentas); System.out.print("El articulo con que genera mas ingresos es: "); System.out.print(nombreArticulos[posicionArticuloMayorVenta]); System.out.println(" y se vendieron cantidadVendida[posicionArticuloMayorVenta]); }

"

14 de 16

13. Investigue como podra hacer un algoritmo para ordenar en orden ascendente o descendente un vector. Dejando el resultado en el mismo vector (Dato: revise el algoritmo de ordenamiento de burbuja ) Ordenamiento SIMPLE: public static void main(String[] args) { System.out.println("Ingrese el numero de Datos "); int n = Lectura.getInt(); int vector[] = new int[n]; int aux; for (int i = 0; i < n; i++) { System.out.println("Ingrese numeros para el vector: "); vector[i] = Lectura.getInt(); } /* AHORA ORDENAMOS EL VECTOR en orden ascendente*/ for (int i = 0; i < n-1; i++) { for (int j=i+1; j<n; j++){ if (vector[i]>vector[j]){ aux=vector[i]; vector[i]=vector[j]; vector[j]=aux; } } } System.out.println("Vector Ordenado"); for (int i = 0; i < n; i++) { System.out.println(vector[i]); } }

Ordenamiento BURBUJA: public static void main(String[] args) { System.out.println("Ingrese el numero de Datos "); int n = Lectura.getInt(); int vector[] = new int[n]; int aux; for (int i = 0; i < n; i++) { System.out.println("Ingrese numeros para el vector: "); vector[i] = Lectura.getInt(); } /* AHORA ORDENAMOS EL VECTOR en orden ascendete*/
15 de 16

for (int i = 0; i < n-1; i++) { for (int j=n-1; j>i; j--){ if (vector[j]<vector[j-1]){ aux=vector[j-1]; vector[j-1]=vector[j]; vector[j]=aux; } } } System.out.println("Vector Ordenado"); for (int i = 0; i < n; i++) { System.out.println(vector[i]); } }

16 de 16

Вам также может понравиться