SoloCodigo

Programación General => Java => Mensaje iniciado por: fer123 en Domingo 22 de Octubre de 2006, 04:06

Título: Arreglo
Publicado por: fer123 en Domingo 22 de Octubre de 2006, 04:06
TENGO

n numeros a repetir

ejemplo 2 numeros

int nrep=2;
for(int i=0;i<nrep;i++)
dentro de este se hace un calculo de suma de 3 numeros de tipo double
y me da un resultado en double claro.

como le hago para sumar los  resultados ya que son 2 veces que se va a repetir el for (va a sumar el 1er resultado con el 2do)dependiendo de nrep. si nrep es 3 va a sumar los resultados 3 veces etc.
Título: Re: Arreglo
Publicado por: nausea en Lunes 23 de Octubre de 2006, 07:52
No entiendo muy bien tu problema pero así, según se me ocurre:

Código: Text
  1.  
  2. double resultAcumulado = 0;
  3. int nrep=2;
  4. for(int i=0;i&#60;nrep;i++){
  5.     result = a + b + c;        // Supongo que esto es la suma de tres doubles que tendrás ya definidos. Digamos que es tu códigos
  6.     resultAcumulado = resultAcumulado + result;
  7. }
  8.  
  9.  

Si nrep es 3, entonces se acumularán tus tres resultados. Sería conveniente que pusieras tu código porque no creo que esto sea lo que te valga

saludos
n.
Título: Re: Arreglo
Publicado por: fer123 en Martes 24 de Octubre de 2006, 04:32
ESTA BIEN TU RESUESTA PERO ERA SUPONIENEDO QUE ERAN 3 numeros los numeros es n o sea lo voy a introducir con el teclado ya sea 3 o 4 o 5 o 6 o 12
asi...

TENGO
INTRODUSCA NUMERO DE SUMAS A REALIZAR...
ITRODUSCO 2

Dentro del cilclo se realiza n veces la suma
EJEMPLO 2 veces

sum=2.09+45.34;
resultado = 47.73
fin

sum=34.54+53.54;
RESULTADO =88.08
fin
LO QUe QUIERO es que me sume los resuldados del ciclo sin importar el numero de veces que se realiza el ciclo si son 12 veces va a sumar 12 resuldados lo mismo como su ubieramos puesto 1 es un resuldado y asi.....
Título: Re: Arreglo
Publicado por: nausea en Martes 24 de Octubre de 2006, 07:31
Citar
sum=2.09+45.34;
resultado = 47.73
fin

sum=34.54+53.54;
RESULTADO =88.08
fin
Y los números 2.09, 45.34, 34.54 y 53.54 ¿De donde salen? No está claro si te refieres a que el 2 que inserta el usuario de tu programa se refiere al número de sumandos de tu suma o a las veces que se hace la suma
Título: Re: Arreglo
Publicado por: Mollense en Martes 24 de Octubre de 2006, 22:58
Soy un ignorante total en cuanto a programción en java  :( (Por ahora).....
..... pero creo que lo que este muchacho quiere es que:

1) El usuario pueda ingresar un entero "n" por teclado.
2) Que el programa luego le permita ingresar por teclado "n" valores numéricos.
3) Que el programa sume estos "n" valores y muestre el resultado de esa suma.

Para ustedes esto ya debe ser muy facil ¿No?.
Título: Re: Arreglo
Publicado por: lencho en Miércoles 25 de Octubre de 2006, 01:43
Citar
Código: Text
  1. double resultAcumulado = 0;
  2. int nrep=2;
  3. for(int i=0;i&#60;nrep;i++){
  4.    result = a + b + c;        // Supongo que esto es la suma de tres doubles que tendrás ya definidos. Digamos que es tu códigos
  5.    resultAcumulado = resultAcumulado + result;
  6. }
  7.  
  8.  

Lo que dice nausea, es correcto, a lo que yo me imagino que pide el amigo fer123.

pero segun lo expuesto por angel_k_ido, te va lo siguiente.

Código: Text
  1.  
  2. int n = JOptionPane.showInputDialog(this,&#34;Introduzca el número N&#34;,&#34;Ejemplo&#34;,JOptionPane.OK_OPTION);
  3. int i, valor, resultado = 0;
  4. for (i=1&#59; i&#60;n&#59; i++){
  5.       valor = JOptionPane.showInputDialog(this,&#34;Introduzca el valor&#34;,&#34;Ejemplo&#34;,JOptionPane.OK_OPTION);
  6.       resultado = resultado + valor;
  7. }
  8.  
  9.  

La logica es la expuesta por Angel_K_ido.

Espero y te sirva.

BYTE.
Título: Re: Arreglo
Publicado por: lencho en Miércoles 25 de Octubre de 2006, 01:47
eso si, cuidado con la conversion de tipos.

Código: Text
  1. int a = Integer.parseInt(&#34;1&#34;);
  2.  

esto es para converti un string en un entero.

BYTE.
Título: Re: Arreglo
Publicado por: fer123 en Lunes 30 de Octubre de 2006, 04:52
PUES LO QUE QUERIA ERA LO QUE DIJO ANGEL_k_IDO pero las variebles introducidas de por EJEMPLO(ES UNA SUPOSICION por que lo toman como si eso quisiera)  NUMERO DE VECES A REPETIR=2
1 vez
introduce un numero
7.5
introduce otro numero
4.2
reultado
11.7

2da vez
introduce un numero
5.1
introduce otro numero
1.0
reultado
6.1

*********QUIERO QUE SE QUEDE EN MEMORIA LOS DOS RESULTADOS POR MEDIO DE UN ARREGLO.....PARA DESPUES SUMARLOS o MULTIPLICARLOS (LOS RESULTADOS UNICAMENTE )no se depende del problema planteado .
GRACIAS POR SU AYUDA
Título: Re: Arreglo
Publicado por: Drackzer en Lunes 30 de Octubre de 2006, 07:00
Asi es, como los compañeros han expuesto, la solución a tu problemna podria ser:

1.- que en el metodo en que hiciste la suma con el bucle de los numeros que pediste al usuario, estos se guarden en una variable tipo bandera, como les llamamos, o una variable comun, para poder instanciarla despues o volverla a llamar.

2.- despues, crees otro metodo que te sume todos los resulatdos, guardados en las variables que mencione, para sumarse a la vez,...

3.- y por ultimo, por medio de una instruccion switch, puedas poner un menu en el cual el usuario sume tantas veces "n" como desee, y ke la otra opcion sea que ahora sume los resultados de las sumas anteriores, ejjej.....

Pues esa es mi propuesta compañero, no se si te puede ayudar en aglo, pero si quieres puedo poner el codigo de ejemplo, pero no tiene mucho chiste este trabajo, creo que me explique lo bastante claro, jejej....

Bueno amigo, nos leemos despues, y dime si en algo mas te puedo ayudar..!! saludos :comp:
Título: Re: Arreglo
Publicado por: lencho en Lunes 30 de Octubre de 2006, 15:04
haber si es esto.

Código: Text
  1. int n = JOptionPane.showInputDialog(this,&#34;Introduzca el número N&#34;,&#34;Ejemplo&#34;,JOptionPane.OK_OPTION);
  2. int i, valor, suma, resultado = 0;
  3. for (i=1; i&#60;n; i++){
  4.    suma = 0
  5.    for (j=1; j&#60;n; j++){
  6.      valor = JOptionPane.showInputDialog(this,&#34;Introduzca el valor&#34;,&#34;Ejemplo&#34;,JOptionPane.OK_OPTION);
  7.      suma = suma + valor;
  8.    }
  9.    vector[i] = suma;
  10. }
  11. resultado = SumarVector(vector);
  12.  
  13.  

Ojalay sea eso.

BYTE.
Título: Re: Arreglo
Publicado por: lencho en Lunes 30 de Octubre de 2006, 15:11
haber si es esto.

Código: Text
  1. int n = JOptionPane.showInputDialog(this,&#34;Introduzca el número N&#34;,&#34;Ejemplo&#34;,JOptionPane.OK_OPTION);
  2. int i, valor, suma, resultado = 0;
  3. for (i=1; i&#60;n; i++){
  4.    suma = 0
  5.    for (j=1; j&#60;n; j++){
  6.      valor = JOptionPane.showInputDialog(this,&#34;Introduzca el valor&#34;,&#34;Ejemplo&#34;,JOptionPane.OK_OPTION);
  7.      suma = suma + valor;
  8.    }
  9.    vector[i] = suma;
  10. }
  11. resultado = SumarVector(vector);
  12.  
  13.  

Ojalay sea eso.

BYTE.
Título: Re: Arreglo
Publicado por: fer123 en Jueves 2 de Noviembre de 2006, 00:04
Gracias por su ayuda pero despues de lee un libro que se llama Programacion Orientada a Objetos en Java de Thomas Wu resolvi mi problema

EL codigo anterior lo corregi y quedo asi

Código: Text
  1. import javax.swing.*;
  2. public class Prueba
  3. {
  4. public static void main(String []args)
  5. {
  6.   String ns,valors;
  7.   int i=0,j=0,n,valor,suma=0,resultado=0;
  8.    
  9. ns = JOptionPane.showInputDialog(&#34;Introduzca el número N&#34;);
  10. n=Integer.parseInt(ns);
  11. int vector[]= new int[n];
  12. for(i=0;i&#60;n;i++)
  13. {
  14.  
  15.     valors = JOptionPane.showInputDialog(&#34;Introduzca el valor&#34;);
  16.     vector[i]=Integer.parseInt(valors);
  17.      suma=suma+vector[i];
  18.     }
  19.    
  20. JOptionPane.showMessageDialog(null,&#34;&#34;+suma);
  21. }
  22. }
  23. //GRACIAS POR SU AYUDA!!!
  24.  
Título: Re: Arreglo
Publicado por: lencho en Jueves 2 de Noviembre de 2006, 20:24
pues tu pregunta fue muy confusa.

Tu pregunta seria, Como cargo y sumo los datos de un vector dimensionado por el usuario y llenado por el usuario.

BYTE.