Петля для Ascii Arts в C - PullRequest
       34

Петля для Ascii Arts в C

0 голосов
/ 17 мая 2019

Мне нужно создать циклы, которые показывают некоторые искусства ascci на C. Я сделал первый, и он работает нормально.Но я не могу сделать второе.Я пробовал со строками, петлями, но я не могу думать в правильной логике.Когда я думал, что получил, программа не работала.Можете ли вы помочь мне?

Мне нужен этот рисунок https://imgur.com/a/ykDmFk4

Если вы можете помочь с другими, я тоже буду вам благодарен!https://imgur.com/a/TeFBzpf https://imgur.com/a/G4mRuSW

PS: пользователь выбирает самую высокую линию чертежа

Это мой код https://pastebin.com/y2Bx0aUc

#include <stdio.h>
int main()
{
  int desenho;
  int tamanho;
  int original;
  char vamo[100];
  char teste[1];
  int i;
  int adicionar;
  int variavel;
   printf("Digite o desenho que quer (entre 1 e 5): \n");
   scanf("%d",&desenho);
   printf("Agora digite o tamanho da primeira linha: \n");
   scanf("%d",&tamanho);
   switch (desenho) {
     case 1:
     for (tamanho = tamanho; tamanho > 0; tamanho--){
       for (i = tamanho; i >0; i--){
         printf("*");
       }
       printf("\n");

     }
     break;
     case 2:
     original = tamanho;
     for (tamanho = tamanho; tamanho > 0; tamanho--){
       for (i = tamanho; i >0; i--){
         printf("*");
       }
       printf("\n");

     }
     printf("*\n");
      teste[0] = '*';
     for (adicionar = 0; adicionar < 100; adicionar++){
         vamo[adicionar] = teste[0];
         teste[0] = teste[0] + '*';

     }
     adicionar = 0;
     for (i = 0 ; i < original; i++){
       printf("%c", vamo[adicionar]);
       adicionar++;
     }


     break;
     case 3:

   return 0;
}
}

1 Ответ

0 голосов
/ 17 мая 2019
#include <stdio.h>

void print_line(int n) {
    for (int i = 0; i < n; ++i) {
        printf("*");
    }
    printf("\n");
}

void print_ascii(int height) {
    for (int i = height; i > 0; --i) {
        print_line(i);
    }

    for (int i = 1; i <= height; ++i) {
        print_line(i);
    }
}

int main(void) {
    print_ascii(5);
}

Функция print_ascii принимает один параметр, который является высотой шаблона.На каждой высоте i мы печатаем строку, содержащую i количество символов '*'.

...