Operaciones con vectores (con estructuras)

Carmen Recio


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

struct vector
{
float a,b;
};
typedef struct vector Vector;
//Queda definido un nuevo tipo de estructura al que nos referiremos como Vector

float prod_escalar(Vector v, Vector w);
Vector prod_planar(Vector v, Vector w);
Vector prod_real(Vector v, float r);
Vector leer_vector(void);
void escribir_vector1(Vector v);
void escribir_vector2(Vector v);

int main ()
{
Vector v1,v2,v3,v4;
float r;

printf("\t\t OPERACIONES CON VECTORES \n");
v1=leer_vector();
v2=leer_vector();

printf("\t\t PRODUCTO ESCALAR \n");
printf("El producto escalar de los vectores es: %.2f\n",prod_escalar(v1,v2));
system("PAUSE");
printf("\n\n");

printf("\t\t PRODUCTO PLANAR\n");
escribir_vector1(prod_planar(v1,v2));
system("PAUSE");
printf("\n\n");

printf("\t\t PRODUCTO DE UN VECTOR POR UN NUMERO REAL\n");
v3=leer_vector();
printf("Dame un numero real: \n");
scanf("%f", &r);
escribir_vector2(prod_real(v3,r));
system("PAUSE");
printf("\n\n");

return 0;
}

float prod_escalar(Vector v, Vector w)
{
    float a;
    a=(v.a*w.a+v.b*w.b);
    return a;

}

Vector prod_planar(Vector v, Vector w)
{
    Vector z;
    z.a=v.a*w.a;
    z.b=-(v.b*w.b);

    return z;
}

Vector prod_real(Vector v, float r)
{
    Vector z;
    z.a=r*v.a;
    z.b= r*v.b;
    return z;
}

Vector leer_vector(void)
{
    Vector z;
    printf("Dame la componente x:\n");
    scanf("%f", &z.a);
    printf("Dame la componente y:\n");
    scanf("%f", &z.b);
    return z;
}

void escribir_vector1(Vector v)
{
   printf("El producto planar es:\t(%.2f,%.2f) \n", v.a, v.b);
}

void escribir_vector2(Vector v)
{
     printf("El producto del vector por el real es:\t(%.2f,%.2f) \n", v.a, v.b);
}

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