/*
Name:Test escolar
Copyright:STCV
Author: Cristian Velasquez
Date: 01/10/10 14:21
Description: algoritmo que organiza dos vectores uno de tipo char y otro tipo int segun el tipo int
*/
#include<iostream>
using namespace std;
int main (){
char nom [50][20];// vector de nombre de estudiantes
char auxnom [20];
int nota [50];// vector de notas de los estudias
int auxnota;
int i;
int j;
int k;
int l; // indices
int cont; // contador de estudiantes
int nota1;
int nota2;
int nota4;
int nota5; // contadores de notas
int resp; // respuesta del usuario
int posmin; // posicion minima del vector
system("color 7c");
i=0;
l=0;
nota1=0;
nota2=0;
nota4=0;
nota5=0;
do{
cout<<"nombre de estudiante: ";
cin>>nom[i];
do{
cout<<"nnota de la prueba: ";
cin>>nota[i];
}while(nota[i]<1||nota[i]==3||nota[i]>5);
if(nota[i]==1){nota1++;}
if(nota[i]==2){nota2++;}
if(nota[i]==4){nota4++;}
if(nota[i]==5){nota5++;}
i++;
do{
cout<<"n¿desea agregar otro estudiante? (si=1 - no=0): ";
cin>>resp;
system("cls");
}while(resp<0||resp>1||i>50);
cout<<"n";
}while(resp==1&&i<50);
cont=i;
/* IMPRIMIENDO DATOS GUARDADOS*/
cout<<"***********Datos ingresados***********";
for(i=0;i<cont;i++){
cout<<"n";
cout<<nom[i];
cout<<"tt"<<nota[i];
}
/* ORDENANDO POR CRITERIO NOTA*/
for(i=0;i<cont-1;i++){
posmin=i;
for(j=i+1;j<cont;j++){
if(nota[j]<nota[posmin]){
posmin=j;
}
}
auxnota=nota[i];
nota[i]=nota[posmin];
nota[posmin]=auxnota;
for(k=0;k<cont-1;k++){
auxnom[i]=nom[i][k];
nom[i][k]=nom[posmin][k];
nom[posmin][k]=auxnom[i];
}
}
//Imprimiendo resultados organizados
cout<<"nnn***********RESULTADOS***********";
for(i=0;i<cont;i++){
cout<<"n";
cout<<nom[i];
cout<<"tt"<<nota[i];
}
cout<<"nn";
system("pause");
return 0;
}