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