Pages

viernes, 25 de enero de 2013

Mostrar alumnos ordenados por mayor puntaje de promedio Codigo Fuente en Java

Problema
Hacer un programa o algoritmo que permita mostrar alumnos ordenados por mayor puntaje de promedio.

Solución
  • Entrada: Juan  12, lucia 10, alex 16,Sandra 14
  • Salida: alex16,Sandra 14,juan 12,lucia 10
Codigo Fuente en Java
import java.util.Scanner;
public class Main {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      String cad="",aux,n;
      int w=0,cont=0,tem,p;
       System.out.println("ingresa la cantidad de alumnos a ingresar");              
       int t = sc.nextInt();
       String []Nom= new String[t];
       int []Prom= new int[t];
       for(int i=0;i<t;i++){
           Nom[i]="";
           Prom[i]=0;
       }
       while(t>cont){
       System.out.println("Ingresa nombre");   
       n=sc.next();
       Nom[cont]=n;
       System.out.println("Ingresa nota");
       p= sc.nextInt();
       Prom[cont]=p;
       cont++;
       }
       while(w!=(t-1)){
           w=0;
           for(int k=0;k<(t-1);k++){
           if(Prom[k]>=Prom[k+1]){
           w++;
           }else{
           tem=Prom[k];
    Prom[k]=Prom[k+1];
    Prom[k+1]=tem;
    aux=Nom[k];
    Nom[k]=Nom[k+1];
    Nom[k+1]=aux;
           }
           }
       }       
       for(int j=0;j<t;j++){
           cad=cad+"Nombre: "+Nom[j]+" Nota: "+Prom[j]+"\n";
       }
       System.out.println(cad);
     
     }
}

0 comentarios:

Publicar un comentario