/**
* Se pide construir un programa que lea una serie de números enteros (tipo int) por la entrada estándar
* y devuelva el primer cuartil de la serie. El primer cuartil es el número más pequeño de la serie que es mayor
* o igual que al menos el 25% del total de los números de la serie. El 25% se calculará redondeando por arriba.
* El primer número de la entrada será el tamaño n (1 <= n <= 100) de la serie de números y a continuación de él
* vendrán todos los números de la serie. La salida será la serie leída ordenada de menor a mayor en una única línea
* y separando cada valor con un blanco (excluido el último) y en otra línea el primer cuartil calculado.
* Ejemplo.
* Entrada
* 8 2 3 10 -11 200 0 7 8
* Salida
* -11 0 2 3 7 8 10 200
* 0
*/
public class PrimerCuartil{
/**
* Método que ordena un array de enteros por el algortimo de la burbuja. El array
* de entrada queda modificado de forma que al final se encuentra ordenado.
* @param nums El array a ordenar.
* @return Una referencia al array ordenado.
*/
public static int[] ordenaBurbuja (int[] nums){
for (int i=1; i < nums.length; i++)
for (int j=nums.length-1; j >= i; j--){
if (nums[j-1] > nums[j]) {
int aux = nums[j-1];
nums[j-1] = nums[j];
nums[j] = aux;
}
}
return nums;
}
public static void main (String[] args){
// Leemos el número de ints en la serie y todos los números de la serie
java.util.Scanner scan = new java.util.Scanner(System.in);
int tam = scan.nextInt();
int[] serie = new int[tam];
for (int i=0; i < tam; i++){
serie[i] = scan.nextInt();
}
scan.close();
// Ordenamos el array
int[] serieOrdenada = ordenaBurbuja(serie);
// Enviamos la serie a la salida estándar. Observar que ahora "serie" está
// ordenada debido al comportamiento del método ordenaBurbuja.
// El último elemento es un caso especial puesto que no le sigue un blanco.
for (int i=0; i < tam-1; i++){
System.out.print(serie[i]+" ");
}
System.out.println(serie[tam-1]);
// Calculamos la posición del cuartil
int pos_cuartil = (int)Math.ceil(0.25*tam) - 1;
// Devolvemos el valor del primer cuartil.
System.out.println(serieOrdenada[pos_cuartil]);
}
}
* Se pide construir un programa que lea una serie de números enteros (tipo int) por la entrada estándar
* y devuelva el primer cuartil de la serie. El primer cuartil es el número más pequeño de la serie que es mayor
* o igual que al menos el 25% del total de los números de la serie. El 25% se calculará redondeando por arriba.
* El primer número de la entrada será el tamaño n (1 <= n <= 100) de la serie de números y a continuación de él
* vendrán todos los números de la serie. La salida será la serie leída ordenada de menor a mayor en una única línea
* y separando cada valor con un blanco (excluido el último) y en otra línea el primer cuartil calculado.
* Ejemplo.
* Entrada
* 8 2 3 10 -11 200 0 7 8
* Salida
* -11 0 2 3 7 8 10 200
* 0
*/
public class PrimerCuartil{
/**
* Método que ordena un array de enteros por el algortimo de la burbuja. El array
* de entrada queda modificado de forma que al final se encuentra ordenado.
* @param nums El array a ordenar.
* @return Una referencia al array ordenado.
*/
public static int[] ordenaBurbuja (int[] nums){
for (int i=1; i < nums.length; i++)
for (int j=nums.length-1; j >= i; j--){
if (nums[j-1] > nums[j]) {
int aux = nums[j-1];
nums[j-1] = nums[j];
nums[j] = aux;
}
}
return nums;
}
public static void main (String[] args){
// Leemos el número de ints en la serie y todos los números de la serie
java.util.Scanner scan = new java.util.Scanner(System.in);
int tam = scan.nextInt();
int[] serie = new int[tam];
for (int i=0; i < tam; i++){
serie[i] = scan.nextInt();
}
scan.close();
// Ordenamos el array
int[] serieOrdenada = ordenaBurbuja(serie);
// Enviamos la serie a la salida estándar. Observar que ahora "serie" está
// ordenada debido al comportamiento del método ordenaBurbuja.
// El último elemento es un caso especial puesto que no le sigue un blanco.
for (int i=0; i < tam-1; i++){
System.out.print(serie[i]+" ");
}
System.out.println(serie[tam-1]);
// Calculamos la posición del cuartil
int pos_cuartil = (int)Math.ceil(0.25*tam) - 1;
// Devolvemos el valor del primer cuartil.
System.out.println(serieOrdenada[pos_cuartil]);
}
}