Java - Ayuda para sumar vectores

 
Vista:

Ayuda para sumar vectores

Publicado por G (1 intervención) el 26/09/2022 23:09:48
Estoy empezando a usar Netbeans y estoy leyendo sobre recursividad, pero hay un ejercicio simple con el que tengo problemas. Alguien sabe como solucionarlo?

Escribe un programa que te permita llenar un vector recursivamente y copiar su contenido de la misma forma en otro vector. Suma recursivamente ambos vectores y muestra ambos vectores junto con el resultado de la suma.

Código:

paquete recursivoVectorx;


importar javax.swing.JOptionPane;

clase pública VectorCalc {
public void fillVector(int vec[],int x){
si(x<10){
vec[x]=Integer.parseInt(JOptionPane.showInputDialog(null,
"Ingrese un numero:"));
vectorrelleno(vec,x+1);
}
}
public void displayVector(int vec[],int x){
si(x<10){
Sistema.out.print(vec[x]+" ");
mostrarVector(vec,x+1);
}
} //Aquí esta el error ya que no logro sumar los vectores para luego imprimir el último vector con los resultados.
AddVector public void (int vec[],int x) {
si(x<10){
for(int i=0;i<vec.longitud;i++){
vec3[i]=vec1[i]+vec2[i];
}
}
}
}

Principal:
clase pública principal {

public static void main(String[] args) {
VectorCalc v=nuevo VectorCalc();
int vec[]=nuevo int[10],x=0;
int vec2[]=Arrays.copyOf(vec, vec.length);
int vec3[]=nuevo int[10],x=0;
v.fillVector(vec, 0);
v.displayVector(vec,0);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda para sumar vectores

Publicado por Kabuto (1381 intervenciones) el 27/09/2022 18:23:17
Primero.
En lugar de preguntar si x < 10, puesto que lo ideal es que tus métodos sirvan para vectores de cualquier tamaño, en lugar de eso mejor preguntar si x < vec.length.
Así funcionará igual, mida lo que mida el vector recibido.

Sobre sumar vectores, el método recursivo ha de recibir como argumentos los tres vectores y no ha de usar ningún bucle.

Además, previamente necesitas otros método para copiar vector, el cuál ha de recibir dos vectores por argumentos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import javax.swing.JOptionPane;
 
public class VectoresRecur {
 
	public static void main(String[] args) {
		int[] vector1 = new int[10];
		int[] vector2 = new int[10];
		int[] vector3 = new int[10];
 
		llenarVector(vector1, 0);
		System.out.println("Vector creado:");
		mostrarVector(vector1, 0);
		copiarVector(vector1, vector2, 0);
		sumarVectores(vector1, vector2, vector3, 0);
		System.out.println("\n\nSuma de vectores:");
		mostrarVector(vector3, 0);
 
	}
 
	public static void llenarVector(int[] v, int x) {
		if (x < v.length) {
			v[x] = Integer.parseInt(JOptionPane.showInputDialog("Introduzca número:"));
			llenarVector(v, x+1);
		}
	}
 
	public static void mostrarVector(int[] v, int x) {
		if (x < v.length) {
			System.out.print(v[x] + " ");
			mostrarVector(v, x+1);
		}
	}
 
	public static void copiarVector(int[] origen, int[] copia, int x) {
		if (x < origen.length) {
			copia[x] = origen[x];
			copiarVector(origen, copia, x+1);
		}
	}
 
	public static void sumarVectores(int[] v1, int[] v2, int[] suma, int x) {
		if (x < v1.length) {
			suma[x] = v1[x] + v2[x];
			sumarVectores(v1, v2, suma, x+1);
		}
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar