ayuda con ejercicio de programacion c++

Dejo el codigo que he intentado abajo

Imagen


codigo intentado
¿Y el problema es...?
@amchacon que me deberia decir que el centro es 1 al meterle los primeros digitos, pero nada :(
@anonimo115 ¿El funcionamiento es correcto hasta donde tienes? Veo un poco de lío cuando quieres inicializar el vector.

EDIT: Revisa el array que recorres en el SumaDerecha, lo estás acabando antes de tiempo (en el inicio del for metes un +1, así que sobra el -1 de la longitud del vector)

Tu tienes esto:

unsigned sumaDerecha(const TVector& vect,unsigned cont2){
    unsigned suma=0;
for(unsigned cont=cont2+1;cont<(vect.num_elem)-1;cont++){
    suma+=((cont-cont2)*vect.numeros[cont]);
}
return suma;
}


Prueba con esto:

unsigned sumaDerecha(const TVector& vect,unsigned cont2){
    unsigned suma=0;
//ME HE CARGADO EL +1 SUMADO A CONT2
for(unsigned cont=cont2; cont<(vect.num_elem)-1; cont++)
{
    suma+=((cont-cont2)*vect.numeros[cont]);
}
return suma;
}
3 respuestas