lunes, 12 de diciembre de 2011

Producto por un escalar, escalar y planar de dos vectores.

/* Este programita calcula el producto de un vector por un escalar,
el producto escalar y el planar de dos vectores, u y v mediante funciones.
NOTA: usa estructuras */

# include <iostream>

using namespace std;
typedef struct
{
    float x;
    float y;
}
vector;

float producto_escalar(vector,vector);
float producto_planar(vector,vector);
vector escalar(vector,float);

int main()
{
    vector v, u,c;
    int a,b,elegir;
    float e;

    cout << "Introduce la componente x de v: ";
    cin >> v.x;
    cout << "Introduce la componente y de v: ";
    cin >> v.y;

    cout << "Introduce la componente x de u: ";
    cin >> u.x;
    cout << "Introduce la componente y de u: ";
    cin >> u.y;

    cout << "Introduce un escalar: ";
    cin >> e;

    cout<<"Elige una operacion 1(producto escalar), 2(producto vectorial, 3(escalar): ";
    cin >> elegir;
    switch (elegir){
        case 1: a=producto_escalar(u,v);
            cout << "El producto escalar es: "<<a<<endl;
            break;
        case 2: b=producto_planar(u,v);
            cout << "El producto planar es: "<<b<<endl;
            break;
        case 3: c=escalar(u,e);
            cout << "El producto de u "<<u.x<<" "<<u.y<<" por "<<e<<" es: "<<c.x<<" "<<c.y<<endl;
            break;
    }
    return 0;
}
vector escalar(vector u,float e)
{
    vector c;
    c.x=u.x*e;
    c.y=u.y*e;
    return c;
}
float producto_escalar(vector u, vector v)
{
    int a;
    a=u.x*v.x+u.y*v.y;
    return a;
}

float producto_planar(vector u, vector v)
{
    int b;
    b=u.x*v.y-u.y*v.x;
    return b;
}

1 comentario: