Vectores en C

Narayan-Sama

Hola buenas a todos!!!

Voy a ir al grano. Para mañana tengo que hacer un ejercicio en C, y tengo casi todo hecho menos el producto escalar y vectorial de dos vectores dadas sus coordenadas. La cuestión es que llevo un buen rato buscando como hacerlo y es que no me sale.

Si algún mediavidero majo me ayuda le estaria agradecido.

dagavi

El producto escalar es multiplicar cada elemento del vector por un número (escalar).
Edit:
Al leer las respuestas de abajo esto está mal, esto es "producto de un vector por un escalar" y no producto escalar de dos vectores xD
fin edit

El producto vectorial es el determinante del vector formado por |(i, j, k), v1, v2| y está en la wikipedia (lo he necesitado hace poco pero no lo recordaba, "Producto vectorial" en wikipedia y te da la solución)
http://es.wikipedia.org/wiki/Producto_vectorial#Ejemplo

Narayan-Sama

#2 Gracias!

Es que tambien estuve por la wiki pero no me apañaba de cual pillar de las formulas xD

SkyneT17

para el escalar haria

res=0;
for(i=0;i<tam;i++)
res+=v1[ i ] * v2[ i ];

LOc0

Versión recursiva de #4

float escalar(float *a, float b, int tam)
{
return tam?(
a**b + escalar(a+1, b+1, tam-1)):0;
}

escalar -> vector[N]vector[N]=numerito
vectorial -> vector[3]
vector[3]=vector[3]

Salu2 ;)

NeB1

#1 no obstante recuerda que las versiones iterativas son más eficaces que las recursivas.

Narayan-Sama

Muchisismas gracias a todos!!!

Usuarios habituales

  • Narayan-Sama
  • NeB1
  • LOc0
  • SkyneT17
  • dagavi