[ Foro de Java ]

suma arrays monodimensionales

20-Oct-2013 18:40
bryan cumbajin
2 Respuestas

El método sum tiene tres parámetros. Los dos primeros (a1, a2) son sendos arrays monodimensionales de elementos de tipo float, el tercero (n) es un valor de tipo int. Los arrays a1 y a2 tienen al menos n elementos. Complete el método para que devuelva un nuevo array monodimensional de n elementos de tipo float que represente la suma de los vectores representados por los n primeros elementos de a1 y a2.

La suma de dos vectores es un nuevo vector en el que cada elemento es igual a la suma de los elementos que ocupan la misma posición en los vectores que se suman.


public class Excercise {
	public static float[] sum(float[] a1, float[] a2, int n) {
		float[] result = new float [a1.length];
		
		for (int i = 0; i < a1.length; i++) {
			float suma = 0;
			for (int j = 0; j < a2.length; j++) {
			suma = a1[i] + a2[j];
		   }
		   result[i] = suma;
		  	}
		return result;
	}
}


debe dar algo como: elementos del 1º array? 3
                   1.0 2.0 3.0
                   elementos del 2º array? 3
                   1.0 2.0 3.0
                   elementos a sumar? 3
                   2.0 4.0 6.0


21-Oct-2013 19:57
Nacho Cabanes (+84)

Está bastante bien, pero hay un par de fallos:

- Quieres devolver un array de "n" elementos, así que deberías usar "n" para crear el array y para recorrer ambos.

- No hace falta un doble "for": vas recorriendo, uno por uno, los elementos de ambos arrays origen a la vez:


public class Ejercicio {
    public static float[] sum(float[] a1, float[] a2, int n) {
        
        float[] result = new float [n];
 
        for (int i = 0; i < n; i++) {
            result[i] = a1[i] + a2[i];
        }
            
        return result;
    }
}




22-Oct-2013 17:47
bryan cumbajin

gracias tío, ya lo había resuelto pero gracias de todas formas.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)