Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: jorpoke en 3 Marzo 2018, 01:20 am



Título: ayuda con ciclo for
Publicado por: jorpoke en 3 Marzo 2018, 01:20 am
hola! muy buenas tardes tengan todos.

necesito un codigo que imprima la siguiente figura:

*
**
***
****
*****
******
*******

esto diene que ser de largo que el usuario pida y en la coordenada de la pantalla que lo necesite, tengo toda la base del codigo con 2 ciclos de for y me imprimen la figura de diferentes maneras, se que tengo que editar el largo de la cadena de caracteres en el eje de la x, pero aun no e encontrado la manera de hacerlo, si me pudieran ayudar estaria muy agradecido, gracias

les dejo la base del codigo que llevo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <time.h>
  5.  
  6. int main()
  7. {
  8. textbackground(12);
  9. textcolor(17);  clrscr();
  10. int i=0,j=0,cx1=12,cy1=12,lar=10,lar2;
  11.    char a='*';
  12.  
  13.  void delay(unsigned int mseconds)
  14. {
  15.    clock_t goal = mseconds + clock();
  16.    while (goal > clock());
  17. }
  18.    //printf("proporciona una coordenada x\n");
  19.    //scanf("%d",&cx1);
  20.    //printf("proporciona una coordenada y\n");
  21.    //scanf("%d",&cy1);
  22.    //printf("una de largo porfavor\n");
  23.    //scanf("%d",&lar);
  24.  
  25.    clrscr();
  26.    lar2=lar;
  27.  
  28.   for(j=0;j<lar; j++)
  29.   for(i=0; i < lar ;  i++)
  30.  
  31.  
  32.        {
  33.        gotoxy(cx1-j,cy1-j+i);
  34.        printf("%c",a);
  35.        gotoxy(2,23);
  36.        delay(300);
  37.  
  38.        }
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.    getch();
  48.    return 0;
  49. }
  50.  
los scanf estan en comentario para que la compilacion se agilizara


Título: Re: ayuda con ciclo for
Publicado por: Kenji-chan en 3 Marzo 2018, 03:40 am
si en tus ciclos for anidados las j controlan la posición 'y' y las i las 'x'
en el for de las x que es el de las filas tines que hacer que en la comprobacion de lasi sea i<j+1 de ese modo te imprime des de un elemento asta j elementos, luego en la funcion gotoxy() cx1 son las x y cy1 son las y por lo tanto seria cx1+i, cy1+j y luego lo reseteas a la pocicion inicial con un gotoxy(cx1, cy1) y listo