"Piramida" z liter z wykorzystaniem pętli zagnieżdżonych

0

Witam.
Od pewnego czasu próbuje napisać program zgodny z treścią tego zadania:

Napisz program, który pobiera od użytkownika wielką literę, a następnie wyświetla poniższą "piramidę", korzystając z pętli zagnieżdżonych:

    A
   ABA
  ABCBA
 ABCDCBA
ABCDEDCBA

Wzór powinien kończyć się na wpisanym przez użytkownika znaku, w tym wypadku byłaby to litera E.

Po wielu próbach udało mi się napisać jakiś prosty program, jednak działa on tylko dla jednej litery - E. Chciałbym, aby działał on dla każdej, więc proszę was o pomoc.

Oto mój program:

#include<stdio.h>
int main ()
{
  int rzad, i, j;
  char ch, l;
  printf("Podaj litere: ");
  scanf("%c", &l);
  rzad = l - 65;

  for(i = 0; i <= rzad; i++)
    {
      for(j = (l - 65); j >= i; j--)
    printf(" ");
      for(ch = 'A'; ch < (l + i - 3); ch++)
    printf("%c", ch);
      for(ch = 'A'; ch < (l + i - 4); ch++)
          printf("%c", ch);
      printf("\n");
    }
  return 0;
}

Z góry dzięki za pomoc.

dodanie znacznika <quote> dla treści zadania i <code> dla zawartości wyjścia - fp

0

Tylko ci się wydaje że ci się udało zupełnie co innego robi ten program niż narysowano.
Ba działa tak samo nie dobrze dla każdej litery.

1
    for(int i = 0; i <= rzad; ++i) {
        for(int k = i; k < rzad; ++k)
            putchar(' ');

        for(int k = 0; k <= i; ++k)
            printf("%c", 'A' + k);
        for(int k = i-1; k >= 0; --k)
            printf("%c", 'A' + k);

        for(int k = i; k < rzad; ++k)
            putchar(' ');
        putchar('\n');
    }
 
1

Podam jeszcze taką możliwość

#include <stdio.h>
int main ()
  {
   int y,x,p,Y,X;
   char L;
   for(;;)
     {
      printf("Podaj litere: ");
      scanf(" %c",&L);
      for(Y=L-'A',X=2*Y,y=0;y<=Y;++y,putchar('\n')) for(x=0;x<=X;++x) putchar((p=(x<Y?x:X-x)+y-Y)<0?' ':('A'+p));
     }
   return 0;
  }
0

dragon ale program (twój) nie sprawdza czy przypadkiem użytkownik nie podał małej litery co rujnuje program, dla przykładu 'z' leci po całej tablicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1