martes, 12 de noviembre de 2013

Programación en C by expreso #13 Triángulo de Asteriscos




Código fuente:


//triángulo de asteriscos

#include <stdio.h>
int main (){

int N;

printf( "altura triangulo? " );
scanf( "%d", &N);

  for ( int k = 1; k <= N-1; k++ ) {
      printf( " " );//imprime los espacios hasta el vertice del triangulo
  }

  printf( "*\n" );

  for (int k = 2; k <= N-1; k++) {
    for (int j = 1; j <= N-k; j++){
    printf( " " );
  }
  printf( "*");
    for (int j = 1; j <= 2*k-3; j++) {
  printf( " " );
  }
  printf( "*\n");
  }

  printf ("*");
  for (int k=1; k <= N-1 ; k++) {
  printf (" *");
  }

  printf( "\n");
}



Espero que os haya gustado, os espero por aquí y por el canal de youtube y que comentéis todo aquello que os gusta, aquello que no os gusta, dudas, sugerencias, etc, estaré encantado de ayudarte.

Saludos!! ;)

19 comentarios:

  1. hola amigo buenas tardes, por favor ayudame en mi tarea.
    lo que yo necesito es un triangulo exactamente igual al del video pero de letras no de asteriscos y que cada linea de letra tenga distinto color

    ResponderEliminar
    Respuestas
    1. Hola, para cambiar los asteriscos por letras lo único que tienes que hacer es cambiar printf("*"); por printf("A"); por ejemplo o la letra que quieras y para cambiar el color de cada línea tienes que incluir la siguiente librería (no me deja ponerla en el comentario pero es esta: c/s/t/d/l/i/b/): #includeXXXXXXXX y poner justo antes de cada línea de escritura lo siguiente:
      system("color xy"); //xy son números, x para el color del fondo e y para el color del texto que es lo que quieres
      Estos son los códigos de los colores:
      0 = Negro
      1 = Azul
      2 = Verde
      3 = Agua marina
      4 = Rojo
      5 = Purpura
      6 = Amarillo
      7 = Blanco
      8 = Gris
      9 = Azul claro
      a = Verde Claro
      b = Aguamarina claro
      c = Rojo claro
      d = Purpura claro
      e = Amarillo claro
      f = Blanco Brillante

      Por ejemplo para poner fondo negro y letras azules sería así:
      system("color 01");

      espero que te sirva, cualquier cosa no dudes en volver a comentar ;)

      Eliminar
    2. la librería c/s/t/d/l/i/b/ tienes que escribirla sin las / y las letras juntas

      Eliminar
  2. pero por que me sale error en todo los for copie y pegue el programa que hiciste y me sale error que programa utilizas?

    ResponderEliminar
    Respuestas
    1. en ese vídeo es el codeblocks, revisa que no te falte alguna } o alguna ; o algo

      Eliminar
    2. estoy copiando y pegando y me sale varios errores como lo puedo solucionar?

      Eliminar
  3. yo tambien tengo el mismo programa y no entiendo por que me esta saliendo error en todo los for :/

    ResponderEliminar
    Respuestas
    1. seguro que es por alguna cosa sin importancia cómo alguna /, alguna } o algo revisalo que quede exactamente igual y te debe funcionar sin problemas

      Eliminar
    2. pucha supuestamente no deberia salirme eso por que es el mismo programa pero nose que esta pasando

      Eliminar
    3. es bastante raro, debería funcionar bien

      Eliminar
  4. esos son 2 de los erros que me salen en el for esta en la linea n°11

    error: "para" bucle declaraciones iniciales sólo se permite en el modo de C99 o C11
    Nota: utilice la opción -SdT = C999, -SdT = gnu99, -SdT = c11 o -std = 11 GNU para compilar el código

    ResponderEliminar
  5. talmbien me sale
    error: refenidition "j"
    error: refenidition "k"

    ResponderEliminar
  6. amigo un favor te puedo pasar los codigos del triangulo que yo hice? y tu puedes modificarlos para que salga igual al tuyo? porfa

    ResponderEliminar
    Respuestas
    1. sí, mandamelos a ver si puedo encontrar los errores

      Eliminar
  7. y para netbeans como seria un ejercicio igual?

    ResponderEliminar
    Respuestas
    1. igual, el código en C es el mismo

      Eliminar
    2. lo hice y no me sale el triangulo

      Eliminar
    3. pruebalo tu si te sale,
      pero pasamelo porfavor

      Eliminar
    4. has revisado que el código lo hayas puesto bien?? a mi si me sale correctamente todo

      Eliminar