DISTANCIA ENTRE DOS PUNTOS (USANDO ESTRUCTURAS)

Toño Sánchez
 
/* ESTE PROGRAMA CALCULA LA DISTANCIA ENTRE DOS PUNTOS
EN EL ESPACIO USANDO ESTRUCTURAS. SE UTILIZA EL PROGRAMA
ANTERIOR QUE CALCULA EL PRODUCTO ESCALAR */
 
# 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 prod, dist;

    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 ("La distancia entre estos dos puntos vale: %fn", dist);
   
    system ("pause");
    return 0;
}

void leer_punto (Punto *p)
{
     printf ("Dame las tres coordenadas de este punto:n");
     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;
}

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

Una respuesta a DISTANCIA ENTRE DOS PUNTOS (USANDO ESTRUCTURAS)

  1. Ricardo dijo:

    ok, ric.

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