Hola a todos es un programa de arreglos en java

dada las notas de los alumnos de un colegio para 5 asignaturas se trata de calcular la media de cada alumno, la media de cada asignatura , la media total de las clases y ordenar de manera decreciente usando el algoritmo Quicksort. Es un examen final que tengo que entregar para el martes 18 apreciaría mucho su ayuda.

1 Respuesta

Respuesta
1

import java.útil.Scanner;
public class Asignaturas {
public static void main(String args[]){
int tamCurso;
Scanner teclado = new Scanner(System.in);
double[] asig1,asig2,asig3,asig4,asig5;
double[] media;
String[] alumno;
int i;
System.out.println("digite el tamaño del curso");
tamCurso=teclado.nextInt();
asig1 = new double[tamCurso];
asig2 = new double[tamCurso];
asig3 = new double[tamCurso];
asig4 = new double[tamCurso];
asig5 = new double[tamCurso];
media = new double[tamCurso];
alumno = new String[tamCurso];
double mediaasign1=0;
double mediaasign2=0;
double mediaasign3=0;
double mediaasign4=0;
double mediaasign5=0;
for(i=0;i<tamCurso;i++){
System.out.println("digite el Nombre del Alumno ");
alumno=teclado.next();
System.out.println("digite la asignatura 1");
asig1=teclado.nextDouble();
System.out.println("digite la asignatura 2");
asig2=teclado.nextDouble();
System.out.println("digite la asignatura 3");
asig3=teclado.nextDouble();
System.out.println("digite la asignatura 4");
asig4=teclado.nextDouble();
System.out.println("digite la asignatura 5");
asig5=teclado.nextDouble();
media= (asig1+ asig2+ asig3+ asig4+ asig5)/5;
mediaasign1=mediaasign1+asig1;
mediaasign2=mediaasign2+asig2;
mediaasign3=mediaasign3+asig3;
mediaasign4=mediaasign1+asig4;
mediaasign5=mediaasign1+asig5;
}
System.out.println();
ordenacionRapida(media);
for(i=0;i<media.length;i++){
System.out.println(media);
}
}
public static void ordenacionRapida(double[] v) {
final int N = v.length;
quickSort(v,0,N-1);
}
public static void quickSort(double[] v, int inicio, int fin) {
if(inicio>=fin) return ;
double pivote = v[inicio];
int izq = inicio+1;
int der = fin;
while(izq<=der) {
while(izq<=fin && v[izq]< pivote) izq++;
while(der>inicio && v[der]>=pivote) der--;
if(izq<der) {
double tmp = v[izq];
v[izq] = v[der];
v[der] = tmp;
}
}
if(der>inicio) {
double tmp = v[inicio];
v[inicio]= v[der];
v[der] = tmp;
}
quickSort(v,inicio, der-1);
quickSort(v, der+1, fin);
}
}

Espero que sea de utilidad

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas