hola jdag1992, veras he visto tu problema y tal como yo lo entiendo quieres saber quienes tiene la maxima nota sea uno o varios, si es asi puedo ayudarte con la logica pero el programa tendras que hacerlo tu, pues tengo algun conocimiento de c pero casi nada de c++ asi que solo puedo aportar la logica.
la idea me la diste tu pues como dices tienes que guardarlo todo en un string y creo que eso es lo que quiere el profe que trabajes la clase string.
como resolver el problema sin arrays? simplemente sumando strings:
tal como en este ejemplo (que no es mio claro jjj)
..........................................
string result;
string s1 = "hello";
// without the extra space at the end
string s2 = "world";
result = s1;
result += ' ';
// append a space at the end
result += s2;
..........................................
la logica que propongo seria algo como ...
==========================================
int maxnota (val inicial -255)
string resultado (inicializada a "")
pide el numero de alumos
repite (num_alumnos)
pide los datos nombre, cedula y nota
compara la nota con maxnota
si es mayor
pon nota en maxnota
pon resultado con el de la varible nombre
// solo habra un nombre en resultado
si no, si es igual
suma el valor de la variable nombre a la variable resultado
// añadiendo los nombres con igual nota a resultado
// recuerda añadir un espacion entre los nombres
visuliza "relacion de alumnos que han obtenido la maxima nota ("+maxnota+") son: "+resultado
==========================================
... ahora a aprender como funciona la clase string
espero te sirva
suerte