Buscador Elinv.

Búsqueda personalizada

domingo, 3 de abril de 2011

¿Piramide de Asteriscos en C++? por ELINV.

/*
* Codigo desarrollado por Elinv.
* http://www.bragadomas.com/forodeprogramacion/index.php
* http://www.bragadomas.com
* http://www.bragadomas.com.ar
* http://luispedromendez.blogspot.com/
* http://elinv-elinv.blogspot.com/?expref=next-blog
*/
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int tam;
int main ()
{
    cout<<"Ingrese el tamanio del triangulo"<<endl;
    cin>>tam;
    for(int i = 0; i < tam; i++)
    {
        for(int j = tam; j >= 0; j--)
        {
            if (i < j)
                cout << " ";
            else
                cout << "*";
        }
        for(int j = 0; j < tam; j++)
        {
            if (j > i)
                cout << " ";
            else
                cout << "*";
        }
        cout << endl;
    }
    fflush(stdin);
    getchar();
    getchar();
// system("cls"); //En windows y en modo cónsola, limpiamos la pantalla
    system("clear")//Limpia la pantalla en Linux
}

13 comentarios:

  1. Hola y gracias, me salvaste! solo una pregunta por que no sale el primer asterisco?

    ResponderEliminar
    Respuestas
    1. Hola saludos: Porque es una pirámide de pares, aquí te agregué una respuesta mas concreta con código incluido:
      http://todocporelinv.blogspot.com.ar/2012/10/c-c-piramides-impares-y-piramides-pares.html
      Saludos.
      Atentamente.

      Elinv.

      Eliminar
  2. Excelente el código brother, solo una duda, para que sea de números impares, que corrección debería el código tener, gracias y saludos !!

    ResponderEliminar
  3. Hola aquí tienes una forma:
    /*
    * Codigo desarrollado por Elinv.
    * http://www.bragadomas.com/forodeprogramacion/index.php
    * http://www.bragadomas.com
    * http://www.bragadomas.com.ar
    * http://luispedromendez.blogspot.com/
    * http://elinv-elinv.blogspot.com/?expref=next-blog
    */
    #include
    #include
    #include
    using namespace std;
    int tam;

    //Función principal
    int main ()
    {
    //declara variable impares
    int impares = 1;
    cout<<"Ingrese el tamanio del triangulo"<>tam;
    for(int i = 0; i < tam; i++)
    {
    for(int j = tam; j >= 0; j--)
    {
    if (i < j)
    cout << " ";
    else
    cout << impares;
    }
    for(int j = 0; j < tam; j++)
    {
    if (j > i)
    cout << " ";
    else
    cout << impares;
    }
    cout << endl;
    impares = impares + 2;
    if (impares > 9) impares = 1;
    }
    fflush(stdin);
    getchar();
    getchar();
    // system("cls"); //En windows y en modo cónsola, limpiamos la pantalla
    system("clear"); //Limpia la pantalla en Linux
    }

    ResponderEliminar
  4. Aquí tienes otra forma mas divertida:

    /*
    * Codigo desarrollado por Elinv.
    * http://www.bragadomas.com/forodeprogramacion/index.php
    * http://www.bragadomas.com
    * http://www.bragadomas.com.ar
    * http://luispedromendez.blogspot.com/
    * http://elinv-elinv.blogspot.com/?expref=next-blog
    */
    #include
    #include
    #include
    using namespace std;
    int tam;

    //Función principal
    int main ()
    {
    //declara variable impares
    int impares = 1;
    cout<<"Ingrese el tamanio del triangulo"<>tam;
    for(int i = 0; i < tam; i++)
    {
    for(int j = tam; j >= 0; j--)
    {
    if (i < j)
    cout << " ";
    else
    {
    cout << impares;
    impares = impares + 2;
    if (impares > 9) impares = 1;
    }
    }
    for(int j = 0; j < tam; j++)
    {
    if (j > i)
    cout << " ";
    else
    {
    cout << impares;
    impares = impares + 2;
    if (impares > 9) impares = 1;
    }
    }
    cout << endl;
    }
    fflush(stdin);
    getchar();
    getchar();
    // system("cls"); //En windows y en modo cónsola, limpiamos la pantalla
    system("clear"); //Limpia la pantalla en Linux
    }

    ResponderEliminar
  5. Atención controle el hecho de que el dígito impar no sea mayor a 9, pues al tener 2 dígitos se desbordaría la pirámide y dejaría de parecer visualmente una pirámide.
    Gracias por las consideraciones y el respeto, saludos y lo mejor en tus estudios.

    ResponderEliminar
  6. para saber si un numero es negativo y menor a otro como le ago?

    ResponderEliminar
    Respuestas
    1. Hola estimado, saludos:
      Aquí en nuestro blog tienes varias respuestas al respecto.
      Copia este link y ejecutalo en tu navegador.
      -------------------------------------------------------
      https://www.google.com.ar/#q=elinv+n%C3%BAmero+negativo
      -------------------------------------------------------

      Saludos y gracias infinitas por tenernos en cuenta.
      Atentamente.

      Elinv.

      Eliminar
  7. como hago para que me aparesca una piramide de esta manera
    Programas 27 Pirámide de letras

    A
    Bb
    Ccc
    Dddd

    ResponderEliminar
    Respuestas
    1. Hola una de las formas en que podrías hacerlo, podría ser así...

      /*
      * Codigo desarrollado por Elinv.
      * http://www.bragadomas.com.ar
      */

      #include //cout
      #include //getchar.
      #include //system.
      #include //tolower-toupper.
      using namespace std;

      //Procedimiento principal
      int main ()
      {
      //Array Abecedario 2 caracteres por el carácter nulo del final
      char abecedario[][2]= {
      "a","b","c","d","e",
      "f","g","h","i","j",
      "k","l","m","n","o",
      "p","q","r","s","t",
      "u","v","w","x","y",
      "z"};
      //Variable para el incremento
      int incremento = 0;
      //Ciclo por las 26 letras //Columnas
      for(int a=0; a<26; a++)
      {
      //Lineas
      for(int b=0; b<26; b++)
      {
      //Primer caracter que imprimimos en mayúscula
      if (b==0)
      {
      //Complicadito el tema de las
      //conversiones al tipo adecuado
      cout<<char(toupper((int)abecedario[a][0]));
      }
      //El resto lo imprimimos normalmente
      else
      {
      cout << abecedario[a];
      }
      //Para la pirámide, vamos controlando
      //la impresión de acuerdo al incremento de 1 en 1
      if (b==incremento)
      {
      incremento++;
      //Salto de línea
      cout << endl;
      //rompemos el bucle for en segundo lugar
      break;
      }
      }
      }
      //Pausa
      getchar();
      getchar();
      system("CLS"); //Limpia la pantalla en Linux
      }

      ----------------------------------------------------------

      Otra de las formas es listando las letras por sus valores ascii
      Por ejemplo los números entre 65 y 90 se corresponden con los valores ascii de las letras mayúsculas
      Para imprimir necesitarías algo así:
      printf("%c ", 65);

      Saludos.

      Atentamente.

      Elinv.

      Eliminar
    2. Nuevamente los includes, siempre me olvido que los tags ocultan el texto. Disculpas por favor!
      ---------------------------------------------
      #include iostream> //cout
      #include stdio.h> //getchar.
      #include stdlib.h> //system.
      #include ctype.h> //tolower-toupper.
      ---------------------------------------------

      Debes ponerle el tag de apertura.

      Ahora si.

      Elinv

      Eliminar
  8. Hola.
    ¿Cómo hago una pirámide en "espejo"
    *
    **
    ***
    ****
    *****
    ******

    ResponderEliminar
    Respuestas
    1. Hola estimado pdDRINK, saludos y gracias por visitar este blog:
      depende donde quieras poner el espejo:
      Si nos das un ejemplo de lo que deseas lograr con mayor gusto te ayudaremos!
      Igualmente te aconsejamos estos links de este mismo blog que ayudan a este respecto:
      -----------------
      http://todocporelinv.blogspot.com.ar/2012/10/c-y-c-una-piramide-de-dinero-por-elinv.html
      -----------------
      http://todocporelinv.blogspot.com.ar/2012/10/c-c-piramides-impares-y-piramides-pares.html
      -----------------
      http://todocporelinv.blogspot.com.ar/2013/04/c-y-c-se-imprime-un-triangulo-de.html
      -----------------
      Saludos y a disposición.

      Atentamente.


      Elinv.

      Eliminar

Dejanos la consulta sobre tu código, y con gusto a la mayor brevedad posible te responderemos...

Elinv.