// Clase para manipular vectores // Antonio Carrillo Ledesma public class Vector { // Coeficientes del vector private double []C; // Guarda la dimension del arreglo de coeficientes private int Dim; // Constructor de la clase public Vector() { Dim = 0; } // Asigna coeficientes public Vector(double []coef) { int i, n = coef.length; C = new double[n]; Dim = n; for (i = 0; i < n; i++) C[i] = coef[i]; } // Retorna los coeficientes public double coeficiente(int i) { if (i >= Dim) { System.out.print("Error"); return 0; } return C[i]; } // Retorna la dimension del arreglo de coeficientes public int dimension() { return Dim; } // Visualiza el vector public void visualiza() { int i; System.out.print("("); for (i = 0; i < Dim; i++) { System.out.print(C[i]); if(i < Dim - 1) System.out.print(", "); } System.out.print(")"); } // Visualiza el vector public void visualizaLN() { visualiza(); System.out.println(""); } // Suma con dos operandos public void suma(Vector a, Vector b) { int i; Dim = 0; // Revisa el tamano de los vectores a sumar if(a.dimension() != b.dimension()) { System.out.println("Error, las dimensiones no son iguales"); } else { // Solicita memoria para los coeficientes del vector resultante Dim = a.dimension(); C = new double[Dim]; // Realiza la suma entre los coeficientes comunes for (i = 0; i < Dim; i++) C[i] = a.coeficiente(i) + b.coeficiente(i); } } // Suma con un operando public void suma(Vector a) { int i; // Revisa el tamano de los vectores a sumar if(dimension() != a.dimension()) { System.out.println("Error, las dimensiones no son iguales"); } else { // Realiza la suma entre los coeficientes comunes for (i = 0; i < Dim; i++) C[i] += a.coeficiente(i); } } // Funcion Principal .... public static void main(String[] args) { double a[] = {3.0, -4.0, 1.5}; double b[] = {1.0, 1.0, 2.0}; double c[] = {1.0, 3.0, -3.0}; Vector A = new Vector(a); Vector B = new Vector(b); Vector C = new Vector(c); System.out.println("Suma con un operando:"); C.visualizaLN(); A.visualizaLN(); C.suma(A); C.visualizaLN(); System.out.println("Suma con dos operandos:"); A.visualizaLN(); B.visualizaLN(); C.suma(A, B); C.visualizaLN(); } }