Puntos tridimensionales (versión 1)

Pilar Masoli

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

struct punto
{
  float x;
  float y;
  float z;
};

typedef struct punto Punto;

void leer_punto (Punto*);
float prod_escalar (Punto*, Punto*);
float distancia (Punto*, Punto*);

int main()
{
Punto *q, *r;
float dist, prod;

q=(Punto*)malloc (sizeof(Punto));
r=(Punto*)malloc (sizeof(Punto));

leer_punto(q);
leer_punto(r);

prod=prod_escalar(q,r);
dist=distancia (q,r);

printf("n El producto escalar de estos dos puntos vale: %f n", prod);
printf("n La distancia entre estos dos puntos es de: %f n", dist);

system("PAUSE");
return 0;
}

void leer_punto(Punto *p)
{
   printf("n Dame las tres coordenadas de este punto: ");
   scanf("%f %f %f", &(p->x),&(p->y),&(p->z));

   return;
}

float prod_escalar (Punto *p, Punto *t)
{
   float prod;

   prod= (p->x)*(t->x)+(p->y)*(t->y)+(p->z)*(t->z);

   return prod;
}

float distancia (Punto *p, Punto *t)
{
   float dist;
   Punto diferencia;

   diferencia.x= (p->x)-(t->x);
   diferencia.y= (p->y)-(t->y);
   diferencia.z= (p->z)-(t->z);

   dist=sqrt(prod_escalar(&diferencia,&diferencia));

   return dist;
}

Anuncios
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Una respuesta a Puntos tridimensionales (versión 1)

  1. Ricardo dijo:

    ok, ric.

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