

Grupo de C++
Este grupo esta relacionado con nuestro curso profesional de C++. Aquí se comparten temas... View more
Ejercicio propuesto 2. Ordenamientos
Ejercicio propuesto 2. Ordenamientos
Hola, hice el ejercicio y todo marcha bien hasta que ordena las calificaciones y al ’10’ lo marca como un ‘0’. ¿Cual puede ser el problema?
Adjunto el codigo.
/*
2.- Crea un programa que guarde las nota y nombres de 10 alumnos en una matriz,
y muestre las notas de mayor a menor junto con el nombre correcto del alumno.
*/
#include<iostream>
#include<string.h>
using namespace std;
int main () {
char alumnoOriginal[10][40], alumnoCopia[10][40];
int notas[10] = {};
int auxiliar, vadera = 0;
for (int i = 0; i <= 9; i++) {
cout<<"Por favor ingrese nombre del alumno "<<i+1<<": ";
cin.getline(alumnoOriginal[i], 30, '\n'); }
cout<<endl<<"A continuacion ingrese la nota de cada alumno: "<<endl;
for (int i = 0; i <= 9; i++) {
cout<<"Ingrese nota del alumno "<<i+1<<" : ";
cin>>notas[i];
cout<<endl;
}
for (int i = 0; i <= 9; i++) {
for (int z = 0; z <= 9; z++) {
if (notas[z] > notas[z+1]) {
auxiliar = notas[z];
notas[z] = notas[z+1];
notas[z+1] = auxiliar;
vadera = 1;
if (vadera == 1) {
strcpy (alumnoCopia[0], alumnoOriginal[z]);
strcpy (alumnoOriginal[z], alumnoOriginal[z+1]);
strcpy (alumnoOriginal[z+1], alumnoCopia[0]);
}
}
}
if (vadera == 0) {
i = 9;
} else {
vadera = 0;
}
}
cout<<endl<<"La lista de notas ordenadas es la siguiente: "<<endl;
for (int i= 9; i >= 0; i--) {
cout<<alumnoOriginal[i]<<" :"<<notas[i]<<endl;
}
return 0;
}
Inicia sesión para responder.