Foros del Web » Programación para mayores de 30 ;) » Java »

Suma de arrays

Estas en el tema de Suma de arrays en el foro de Java en Foros del Web. Hola a todos¡ Tengo un problema con este código. Tengo que programar un método SumArray(), este recibe dos argumentos un array int y int limite. ...
  #1 (permalink)  
Antiguo 06/04/2019, 05:24
 
Fecha de Ingreso: junio-2011
Mensajes: 66
Antigüedad: 12 años, 9 meses
Puntos: 0
Suma de arrays

Hola a todos¡
Tengo un problema con este código. Tengo que programar un método SumArray(), este recibe dos argumentos un array int y int limite. El método es devolver int valor representado por la suma de los elementos desde el primer array, pero no incluyendo el primer elemento cuyo valor is limite .La solución tiene que ser con While of For.


public int SumArray(int[] dataArray ,int limite)
{
int sum =0;

for (int i=0; i <=dataArray.length; i++)
{
sum = sum + dataArray[i];
}
return sum;
}
}

Gracias
  #2 (permalink)  
Antiguo 06/04/2019, 15:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Suma de arrays

Saludo


Pues en el código que propones no se ve ningún condicional
que evite que no se use el valor de límite.


Ahora, imagino que la idea es que si el primer parámetro tiene
por ejemplo 9 elementos, pero el límite enviado es 8,
entonces que sume solo los 8 elementos, verdad??


Si es así, incluso el condicional mencionado anteriormente
estaría ya implicito en el for, en la segunda parte, donde se
condiciona hasta donde se recorre, que actualmente recorre todos

los elementos (length), y en donde iría el límite cómo tal ahora
para solventar el asunto.


¿Es eso lo que se quiere, o es otra cosa?
Ya nos dirás.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 07/04/2019, 02:52
 
Fecha de Ingreso: junio-2011
Mensajes: 66
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Suma de arrays

Hola gracias.Si creo a mi entender que el valor limite sirve para limitar el numero de elementos del Array. Qual es tu sugerencia?.He intentado con esto y tampoco funciona;

public int SumArray(int[] dataArray ,int limite)
{
int sum =0;

for (int i=limite; i <=dataArray.length; i++)
{
sum = sum + dataArray[i];
}
return sum;
}
}

Última edición por bksacue; 07/04/2019 a las 03:04
  #4 (permalink)  
Antiguo 07/04/2019, 08:06
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Suma de arrays

El limite no parece ser el numero maximo de elementos.
En el primer post enuncias que tienes que sumar todos los elementos excepto el primer valor que sea el qiue te pasan

Si los datos son

[ 1,2,3,4,5,6,7,8,9, 8, 7, 6, 5, 4, 3, 2, 1 ]

y te pasan 3

hay que sumar todos los numeros, excepto el primer 3.

Cito:

"El método es devolver int valor representado por la suma de los elementos desde el primer array, pero no incluyendo el primer elemento cuyo valor is limite"
__________________
Visita mi perfil en LinkedIn
  #5 (permalink)  
Antiguo 07/04/2019, 08:44
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Suma de arrays

Cita:
Iniciado por bksacue Ver Mensaje
Hola gracias.Si creo a mi entender que el valor limite sirve para limitar el numero de elementos del Array. Qual es tu sugerencia?.He intentado con esto y tampoco funciona;

public int SumArray(int[] dataArray ,int limite)
{
int sum =0;

for (int i=limite; i <=dataArray.length; i++)
{
sum = sum + dataArray[i];
}
return sum;
}
}

Saludo
Creo que no leiste con calma lo que yo te sugerí, pues yo decía que en la segunda parte del for (es decir, en la condición, es donde iría lo del límite)
pero si te fijas, tu lo pusiste en la primera parte (donde se inicializa i), pero cómo se quiere que no se incluya la posición límite,
ya no sería menor o igual, sino solo menor.


Creería que con hacer el cambio (i < limite) ya debería funcionar cómo se quiere.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 09/04/2019, 12:31
 
Fecha de Ingreso: junio-2011
Mensajes: 66
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Suma de arrays

Hola de nuevo. Gracias por vuestra ayuda¡¡.Creo ques es a "Tricky question" .Tendo que testear el array , he adjuntado un schreenshoot con los valores y resultados que deberia de obter , estos son:
https://www.dropbox.com/s/j8934e3ay1...%2044.png?dl=0

Consigo obtener correctos unos valores, pero otros no. He modificado el programa con los datos que me habeis pasado + otras modificaciones y no consigo obtener correstos todos los valores.

Alguna sugerencia?
  #7 (permalink)  
Antiguo 09/04/2019, 20:13
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Suma de arrays

Saludo

Ok, creo que era más por la forma en que estaba redactado el enunciado.

Tal vez la mejor solución sea con while, y simplemente la condición del while
sea que mientras la posición actual del array no sea el valor límite,
realice la suma, en caso contrario que no sume más y retorne el valor
de la suma hasta el momento.

Si lo quisieras continuar con el for, entonces entraría un if dentro del for haciendo la misma pregunta,
si el valor a sumar no es el valor límite.


Con eso ya te debería arrojar los resultados que esperas basados
en la imagen que pusiste.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #8 (permalink)  
Antiguo 10/04/2019, 12:18
 
Fecha de Ingreso: junio-2011
Mensajes: 66
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Suma de arrays

Ok gracias

Etiquetas: arrays, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:32.