Recorre el vector grande y vete guardando ordenadamente en el resultado los cinco número más grandes (o sus posiciones, es indistinto). En pseudocódigo sería algo así.
Supongo que el vector de 49 posiciones se llama numeros y el de 5 resultado.
No he tenido en cuenta que pueda haber números iguales (eso es facil tenerlo en cuenta, si tienes problemas dimelo) y tienes que tener en cuenta que las cinco primeras vueltas del bucle son distintas ya que hay que inicializar resultado.
Lo dicho, si tienes problemas dilo y lo completo del todo, pero también te tendré que dejar a ti pensar un poco
Código C:
Ver originalfor (i = 0; i<49; i++)
{
if (numeros[i] > numero[resultado[4]])
{
if (numeros[i] > numero[resultado[3]])
{
if (numeros[i] > numero[resultado[2]])
{
if (numeros[i] > numero[resultado[1]])
{
if (numeros[i] > numero[resultado[0]])
{
resultado[4] = resultado[3];
resultado[3] = resultado[2];
resultado[2] = resultado[1];
resultado[1] = resultado[0];
resultado[0] = i;
}
else
{
resultado[4] = resultado[3];
resultado[3] = resultado[2];
resultado[2] = resultado[1];
resultado[1] = i;
}
}
else
{
resultado[4] = resultado[3];
resultado[3] = resultado[2];
resultado[2] = i;
}
}
else
{
resultado[4] = resultado[3];
resultado[3] = i;
}
}
else
{
resultado[4] = i;
}
}
}