Foro de elhacker.net

Programación => Java => Mensaje iniciado por: casio en 13 Diciembre 2012, 23:24 pm



Título: Ayuda con suma en java.
Publicado por: casio en 13 Diciembre 2012, 23:24 pm
Buenas, tengo un ejercicio relacionado con un triangulo de pascal el cual debo de sumar todos los valores que salen.

Se que la variable que almacena el valor es la variable dato, he probado cosas, pero no se como hacerlo.

Dejo el código.

import java.io.*;
import java.util.Scanner;
class piramide2 {

public static int elemento (int fila, int columna) {
if (fila <1 ||columna < 1) return 0;
if (columna == 1) return 1;
return elemento (fila-1, columna) + elemento (fila-1, columna-1) + elemento
(fila-1, columna-2);
}
public int total (int a){
   a+=a;
   return a;
}
public static void main (String[] args) throws IOException{
int numfilas ;
Scanner teclado=new Scanner(System.in);
System.out.println ("Introduce la altura de la pirámide: ");
numfilas = teclado.nextInt();
for( int i=1; i<( numfilas +1); i++)
{
   for( int e=0; e<( numfilas - i); e++)
System.out.print ("\t");
for( int j=1; j<(2* numfilas +1); j++) {
int dato = elemento(i, j);
if (dato > 0)
System.out.print (dato+ "\t" );
}
System.out.println (" ");
}
}
}

Una pista o ayuda no estaría nada mal!

Gracias de antemano  :)


Título: Re: Ayuda con suma en java.
Publicado por: kasiko en 16 Diciembre 2012, 01:09 am
¿fallo? ¿error?

Por cierto, estan las etiquetas CODE


Título: Re: Ayuda con suma en java.
Publicado por: casio en 17 Diciembre 2012, 14:01 pm
Código
  1. import java.io.*;
  2. import java.util.Scanner;
  3. class piramide2 {
  4.  
  5. public static int elemento (int fila, int columna) {
  6. if (fila <1 ||columna < 1) return 0;
  7. if (columna == 1) return 1;
  8. return elemento (fila-1, columna) + elemento (fila-1, columna-1) + elemento
  9. (fila-1, columna-2);
  10. }
  11. public int total (int a){
  12.        a+=a;
  13.        return a;
  14. }
  15. public static void main (String[] args) throws IOException{
  16. int numfilas ;
  17. int suma=0;
  18. Scanner teclado=new Scanner(System.in);
  19. System.out.println ("Introduce la altura de la pirámide: ");
  20. numfilas = teclado.nextInt();
  21. for( int i=1; i<( numfilas +1); i++)
  22. {
  23.        for( int e=0; e<( numfilas - i); e++)
  24. System.out.print ("\t");
  25. for( int j=1; j<(2* numfilas +1); j++) {
  26. int dato = elemento(i, j);
  27. if (dato > 0)
  28. System.out.print (dato+ "\t" );
  29. suma+=dato;
  30. }
  31. System.out.println (" ");
  32. }
  33. System.out.println("La suma de los valores es: " +suma);
  34. }
  35. }
  36.  

Lo que buscaba era poder guardar todos los valores de la piramide pascal. Ejemplo:

Introduce la altura de la pirámide:
4
         1   
      1   1   1   
   1   2   3   2   1   
1   3   6   7   6   3   1   
La suma de los valores es: 40

P.D: pongo la etiqueta code /code con los [] pero no sale como debería, porque?


Título: Re: Ayuda con suma en java.
Publicado por: jhonatanAsm en 17 Diciembre 2012, 14:12 pm
intenta ponerle sus llaves a este cuerpo:

if (dato > 0)
System.out.print (dato+ "\t" );
suma+=dato;

salu2.


Título: Re: Ayuda con suma en java.
Publicado por: casio en 17 Diciembre 2012, 15:12 pm
Jajajaja gracias, pero ya me había puesto al respuesta, linea 27-29 en el código anterior.

Pero gracias de todas formas ;)