Angulo y distancia entre dos vectores

Miriam Modrego Rodríguez

/*Programa que dados dos vectores calcula el ángulo que forman
y la distancia que hay entre ellos.*/

#include <stdio.h>
#include <math.h>
#define DIM 100

float escalar (float v[], float w[], int N);
float modulo (float v[], int N);
float angulo (float v[], float w[], int N);
void leer_vector(float v[],int N);

int main()
{

int i,N;
float v[DIM],w[DIM],z[DIM],ang, modul;

printf (“Dame la dimension de tus vectores:”);
scanf (“%d”, &N);
leer_vector (v,N);
leer_vector (w,N);

for (i=0;i<N;i++)
z[i]=v[i]-w[i];
modul=modulo (z,N);
ang=angulo(v,w,N);
printf(“La distancia entre tus vectores es: %f\n”, modul);
printf(“El angulo que forman tus vectore es: %f\n”, ang);

return 0;
}

float escalar (float v[], float w[], int N)
{
float tot=0;
int i;
for (i=0;i<N;i++)
tot+=v[i]*w[i];
return tot;
}

float modulo (float v[], int N)
{
float modul;
modul=escalar(v,v,N);
return sqrt(modul);
}

float angulo (float v[], float w[], int N)
{
float ang;
ang=escalar(v,w,N);
ang=ang/(modulo(v,N)*modulo(w,N));
ang=acos(ang);
return ang;
}

void leer_vector(float v[],int N)
{
int i;
printf(“Dame %d coordenadas del vector:”, N);
for(i=0;i<N;i++)
scanf (“%f”, &v[i]);
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s