JavaScript - concatenar for ? se puede u otra manera

   
Vista:
Imágen de perfil de Guillermo

concatenar for ? se puede u otra manera

Publicado por Guillermo (12 intervenciones) el 28/03/2016 21:17:56
Buenas tengo este ejercicio . lo que esta en la imagen xD
f00dSiy

Lo que no entiendo es como ago para colocar otra colummna al lado de la que esta primero.
Ose el ejercicio me sale , pero todo en una sola linea osea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
1
2
3
4
1
2
3
1
2
Lo que quiero saber es como concateno los numero de forma que quede una piramide .
Espero que me ayuden . Gracias Saludos :D

PD: Si no se ve la foto me avisan . Gracias
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 Jordi

concatenar for ? se puede u otra manera

Publicado por Jordi (75 intervenciones) el 29/03/2016 08:25:09
Hola Guillermo,

Para empezar, no te está saliendo bien el resultado porque consiste en, con un número dado, sumar de 1 al número y de ese número al 1 descender nuevamente.

El pseudocódigo sería algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
int num = pedir número;
for (int i = 1; i  <= num; i++) {
        // Dentro de este for, tienes como i el número máximo a tratar en cada fila
        for (int j = 1; j <= i; j++) {
                // Dentro de este otro for, tienes como j los números ascendientes a ir printeando
                printear(j);
        }
        for (int j = i; j >= i; j--) {
                // Dentro de este último for, tienes como j los números descendientes a ir printeando
                printear(j);
        }
        printear("\n");
}

De esta forma obtendrías el siguiente resultado, sin centrarlo en el medio. Luego, si hablamos de centrarlo en el medio además, ya tenemos que darle otra vuelta al código.

1
2
3
4
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

concatenar for ? se puede u otra manera

Publicado por arck (74 intervenciones) el 29/03/2016 11:53:10
pensando que lo quieres hacer por javaScript, ¿quieres que salga por consola o en la imagen?

Si quieres que salga por consola,

pon tu código a ver como lo tienes y te paso mi solución


1
2
3
4
5
6
7
Solucion:
						1
					1	2	1
 				1	2	3	2	1
			1	2	3	4	3	2	1
 		1	2	3	4	5	4	3	2	1
 	1	2	3	4	5	6	5	4	3	2	1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Guillermo

concatenar for ? se puede u otra manera

Publicado por Guillermo (12 intervenciones) el 29/03/2016 19:57:58
Buenas Jordi , Arck

mi codigo es casi similar al de Jordi , solo que varia en algo , pero me da diferente a jordi , yo entiendo que ami me sale :D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (var i = 1; i <= num; i++) {
  console.log(i);
 
    for (var k = 1; k <= num; k++) {
// NOTE: coloco temp, para que al numero le reste 1 por columna asi pueder quedar como se ve en el ejercicio 
      temp = num;
      temp-=1;
      console.log(k);
    }
 
    for (var n = 1; n < num; n++) {
      temp-=2;
      console.log(n);
    }
}
1
2
3
4
5
6
7
Esto me da algo de
1 2 3 4 5
1 2 3 4
 1 2
 
pero no logro hacer que formen una piramide
Arck , agradeceria que compartiares tu solucion . Gracias
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

concatenar for ? se puede u otra manera

Publicado por arck (74 intervenciones) el 30/03/2016 13:21:34
Es imposible que te salga lo que dices por lo menos en forma de piramide pero bueno, hoy me pillas de buenas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function prueba(){
        var num = 6;
 
        for (var i = 1; i  <= num; i++) {
            //Imprimes los espacios 
            for (var j = 0; j <(num - i); j++) {
                    // Dentro de este otro for, tienes como j los números ascendientes a ir printeando
                    linea+="\t"
            }
            // Dentro de este for, tienes como i el número máximo a tratar en cada fila
            for (var j = 1; j <= i; j++) {
                    // Dentro de este otro for, tienes como j los números ascendientes a ir printeando
                     linea+="\t"+j;
            }
            for (var j = i-1; j > 0; j--) {
                    // Dentro de este último for, tienes como j los números descendientes a ir printeando
                    linea+="\t"+j;
            }
            console.log(linea);
            linea = "";
        }
    }
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