elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Ayuda] piramide de numeros c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] piramide de numeros c++  (Leído 25,788 veces)
sokolov123

Desconectado Desconectado

Mensajes: 1


Ver Perfil
[Ayuda] piramide de numeros c++
« en: 16 Octubre 2014, 05:39 am »

Hola, soy principiante en c++
veran.. hice un programa en dev-c++ el cual imprime una piramide

#include<iostream.h>

main()
{
int n, i, j;
 

     
cout<<"Introduzca el numero de filas a imprimir: ";
cin>>n;

cout<<endl;
 
for(i=1;i<=n;i++) {
                                                         
for(j=i;j<i*2;j++)
cout<<j;
                                                           
for(j=j-2;j>=i;j--)
cout<<j;
cout<<endl;
}
cout<<endl;
 system("pause");


Si ingreso 5
queda algo asi:
1
232
34543
4567654
567898765

pero lo que quiero es que quede de la siguiente forma:
1
212
32123
4321234
543212345

alguien que me ayude  :huh: ???




En línea

Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: [Ayuda] piramide de numeros c++
« Respuesta #1 en: 16 Octubre 2014, 06:51 am »

Este es tu código:
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, i, j;
  6. cout << "Introduzca el numero de filas a imprimir: ";
  7. cin >> n;
  8.  
  9. cout << endl;
  10. for( i = 1; i <= n; i++ ) {
  11. for( j = i; j < i*2; j++ )
  12. cout << j;
  13. for( j = j-2; j >= i; j-- )
  14. cout << j;
  15. cout << endl;
  16. }
  17. cout << endl;
  18. return 0;
  19. }

Tu error es que en el primer ciclo estás sumando en lugar de restar. Y no hace falta poner i*2. El número importante aca es el 1. Ejemplo:
Citar
32123

Aquí se empieza con 3. Luego bajás hasta llegar al 1, y luego subís nuevamente al 3. Entonces tus ciclos quedarían algo así:
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, i, j;
  6. cout << "Introduzca el numero de filas a imprimir: ";
  7. cin >> n;
  8.  
  9. cout << endl;
  10. for( i = 1; i <= n; i ++ ) {
  11. for( j = i; j > 1; j-- ) cout << j;
  12. for( j = 1; j <= i; j++ ) cout << j;
  13. cout << endl;
  14. }
  15. cout << endl;
  16. return 0;
  17. }


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: [Ayuda] piramide de numeros c++
« Respuesta #2 en: 16 Octubre 2014, 17:31 pm »

Otra aproximación se basa en considerar la salida esperada (la alineación solo es para facilitar la lectura):
Código:
    1
   212
  32123
 4321234
543212345

Como el resultado del absoluto mas uno de las series:
Código:
            0
         -1 0 1
      -2 -1 0 1 2
   -3 -2 -1 0 1 2 3
-4 -3 -2 -1 0 1 2 3 4

La implementación en C++ consiste en dos bucles anidados (antes de utilizar la función abs se debe incluir el encabezado <cstdlib>):
Código
  1. for (int i = 0; i != 5; ++i){
  2.   for (int j = -i; j <= i; ++j)
  3.      cout << abs(j) + 1;
  4.  
  5.   cout << endl;
  6. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Pirámide en condigo C
Programación C/C++
rafa_rdj 3 4,351 Último mensaje 29 Abril 2015, 03:59 am
por engel lex
ayudenme por fa con este programa de piramide de numeros doble
Programación C/C++
cristianferrer011 1 2,551 Último mensaje 22 Noviembre 2015, 23:17 pm
por 0xFer
piramide de numeros
Programación C/C++
mitzi 3 2,353 Último mensaje 23 Septiembre 2018, 18:09 pm
por MAFUS
Piramide de Numeros -> C++
Programación C/C++
Joseph CM 1 5,400 Último mensaje 29 Enero 2021, 21:16 pm
por K-YreX
PIRAMIDE DE NUMEROS EN C++
Programación C/C++
abril1 1 2,320 Último mensaje 4 Abril 2022, 02:17 am
por .xAk.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines