sábado, 19 de enero de 2008

Suma Vector Ciertas Posiciones de Otro Vector en lenguaje C

Desarrolle la función "sumaPosVector" a la que pasándole un vector de enteros y su tamaño y un vector de posiciones y su tamaño devuelva la suma de los elementos del primer vector que ocupan las posiciones indicadas por el segundo vector. Si en el vector de posiciones encuentra valores fuera del rango del vector a sumar, ignórelos, no las emplee en el cálculo de la suma.

int sumaPosVector (int *v, int tam, int *vpos, int tamapos){
int i, suma;
//recorremos el vector de posiciones, y vamos comprobando que el
//valor de esos indices sean menores estrictos que el tamano del vector
//y los vamos sumando, si son mayores o iguales ya se sale del rango del //vector v
for(i=0, suma=0; i< tamapos; i++){
if (vpos[i] < tam)
suma+=v[vpos[i]];
}
return suma;
}