Przyrównywanie char do int?

0

Hej, chcę stworzyć taką piramidę za pomocą pętli przy której user podaje jakąś literę a do niej tworzy się piramida. Np:
user podaje literę 'D'.

Piramida

  A
ABA

ABCBA
ABCDCBA

Napisałem coś takiego, nie jest to jeszcze koniec ale kompletnie to nie działa. Kumpel powiedział mi, że nie mogę (tak jak zrobiłem) przyrównać inta do chara, ale sam też nie wiedział jak rozwiązać ten problem. Może ktoś mi w tej kwestii coś podpowiedzieć?

#include <stdio.h>

int main(void)
{
    int index, iks, igrek, zet;
    char ch, litera;

    printf("Podaj litere, na ktorej konczyc ma sie piramida:\n");
    scanf("%c", &ch);

    for(index = 0; index < ch; index++)
    {
                for(iks = index; iks < ch; iks++)
                printf(" ");
                printf("\n");

    for(igrek = ch; igrek >= 0; --igrek)
        {
                for(zet = igrek; zet < ch; zet++)
                printf("%c", ch);
                printf("\n");
        }

    }
    getchar();
    return 0;
} 
0
  1. A wypisz tablica ascii się kłania. Literki mają wysokie numerki, a nie 0,1,2... Więc musiałbyś tam mieć
    index < ch-'A'
    albo
    index < ch-'a'
  2. Kod jest bez sensu. Najpierw rysujesz spacje i newline, a dopiero potem rysujesz literki. Gdzie tu jakaś logika? o_O
0

No jak to jaka? Najpierw tworzę te "spacje", a potem dopiero za nimi dopisuję litery. Chyba Ciebie nie zrozumiałem.

0
#include <stdio.h>

int main(void)
{
    char max, ch;
    int i, j;

    scanf("%c", &max);

    for(i = (int)'A'; i <= (int)max; i++)
    {
        for(j = 0; j < max - (char)i; j++)
            printf(" ");

        for(ch = 'A'; ch <= (char)i; ch++)
            printf("%c", ch);

        for(ch = (char)i - 1; ch >= (char)'A'; ch--)
            printf("%c", ch);

        printf("\n");
    }

    return 0;
}
0

Nie chciałem gotowego rozwiązania;D Sam chciałem do tego dojść ale dzięki. Spróbuję stworzyć sam coś podobnego. Możecie mi jeszcze podać linka lub powiedzieć jak nazywa się coś takiego?

(int)max 

Nie wiem jak wpisać, żeby coś o tym wyszukać bo nie wiem czemu jest ten nawias z przodu.

0

To jest rzutowanie.

0

trzeba poczytać zanim zacznie się kodować ; ]

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