¿Son ortogonales entre sí 3 vectores dados?

Gonzalo Perales Ribera

#include <stdio.h>
#include <stdlib.h>

struct vector
{
float x,y,z;
};

typedef struct vector Vector;

void LeerVector(int vn, Vector *vect);
void EscribirVector(Vector *vect);
float ProductoEscalar(Vector *vect1, Vector *vect2);

int main()
{
Vector vector1,vector2,vector3;

LeerVector(1, &vector1);
LeerVector(2, &vector2);
LeerVector(3, &vector3);

printf(“los vectores: “);
EscribirVector (&vector1);
printf(” , “);
EscribirVector (&vector2);
printf(” , “);
EscribirVector (&vector3);
printf(” , “);
printf(“\n\n\n”);

if (ProductoEscalar(&vector1,&vector2) == 0 &&
ProductoEscalar(&vector1,&vector3) == 0&& ProductoEscalar(&vector2,&vector3) == 0)
{
printf(“son ortogonales”);
}else{
printf(“no son ortogonales”);
}

return 0;
}

void LeerVector(int vn, Vector *vect)
{
printf(“Introduce el vector %d:\n”,vn);
printf(“z = “);
scanf(“%f”,&(vect->x));
printf(“y = “);
scanf(“%f”,&(vect->y));
printf(“z = “);
scanf(“%f”,&(vect->z));
}

void EscribirVector(Vector *vect)
{
printf(“(%.2f, %.2f , %.2f)”, vect->x, vect->y, vect->z) ;
}

float ProductoEscalar(Vector *vect1, Vector *vect2)
{
float prodEsc;
prodEsc=(vect1->x * vect2->x)+ (vect1->y*vect2->y)+(vect1->z*vect2->z);
return prodEsc;
}

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

Deja un comentario

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