// Programación en C++ para Ingenieros, Ed. Thomson Paraninfo, 2006 // Capitulo 6: Tipos Estructurados // Programa que lee dos vectores de dimensión N y calcula el producto escalar. #include <iostream> #include <vector> using namespace std; // Definición de constantes const int N = 5; // Declaración de acciones y funciones // Leemos un vector de dimensión N double LeerVector( vector<double> &v ); // Devolvemos el producto escalar de los vectores de dimensión N, v1 * v2 double prodEscalar( const vector<double> &v1, const vector<double> &v2 ); // Programa principal int main () { // Declaramos dos vectores v1 y v2 de N reales vector<double> v1(N); vector<double> v2(N); cout << "Introduce las N=5 coordenadas del primer vector: "; LeerVector( v1 ); cout << "Introduce las N=5 coordenadas del segundo vector: "; LeerVector( v2 ); cout << "El producto escalar de los vectores dados es: "; cout << prodEscalar( v1, v2 ) << endl; return 0; } // Definición de acciones y funciones double LeerVector( vector<double> &v ) { int i; double x; for ( i = 0; i < N; i++ ) { cin >> x; v.push_back(x); } } double prodEscalar( const vector<double> &v1, const vector<double> &v2 ) { int i; double prod = 0.0; for ( i = 0; i < v1.size(); i++ ) prod += v1[i] * v2[i]; return prod; }