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
#include <iostream> #include <sstream> using namespace std; string convertir(int a){ stringstream buf; string res; buf<<a; res=buf.str(); return res; } int main(){ string cad="",aux,n; int w=0,cont=0,tem,t,p; cout<<"ingresa la cantidad de alumnos a ingresar"<<endl; cin>>t; string Nom[t]; int Prom[t]; for(int i=0;i<<t;i++){ Nom[i]=""; Prom[i]=0; } while(t>cont){ cout<<"Ingresa nombre"<<endl; cin>>n; Nom[cont]=n; cout<<"Ingresa nota"<<endl; cin>>p; 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: "+convertir(Prom[j])+"\n"; } cout<<cad; return 0; }
0 comentarios:
Publicar un comentario