Pages

viernes, 25 de enero de 2013

Mostrar alumnos ordenados por mayor puntaje de promedio Codigo Fuente en C#

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 c#
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Main
{
    class Program
    {
        static void Main(string[] args)
        {
           String cad="",aux;
      int w=0,cont=0,tem;
       Console.WriteLine("ingresa la cantidad de alumnos a ingresar");              
       int t = Convert.ToInt16(Console.ReadLine());
       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){
       Console.WriteLine("Ingresa nombre");   
       String n=Console.ReadLine();
       Nom[cont]=n;
       Console.WriteLine("Ingresa nota");
       int p = Convert.ToInt16(Console.ReadLine());
       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";
       }
      Console.WriteLine(cad);
      Console.ReadLine();
        }
    }
}

0 comentarios:

Publicar un comentario