Problemas novato

Garrisoft
05 de Enero del 2005
Hola a todos, y feliz año nuevo. Abro este post, xk soy un novato (mas que novato, no tengo ni .. idea) en esto de c++, y tengo unos problemas k me estoy comiendo la cabeza y no me aclaro.
1.Programa que dados tres números, los ordene ascendentemente. (Como se hace para que los ordene, yo se hacer que diga cual es el grande, pero ordenarlos de mayor a menor no)

2.Programa que calcule el nª de suspensos (0<= nota < 5), aprobados (5 <= nota < 7), notables (7 <= nota < 9) y sobresalientes (9 <= nota <= 10). Además, debe mostrar el porcentaje que supone cada una de las calificaciones. Para finalizar poner un -1.
Como se hace para cerrar poniendo un -1??, como se cuentan los aprobados y suspensos...

Bueno, se que es un poco descarado pedir esto, pero sk no tengo ni idea y a nadie que me lo explique. Me hariais un gran favor, gracias.