Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C stvorec zo znaku char

Tento program by mal napisat stvorec s velkostou strany ako zadame samozejme ma byt duty.
Skontroloval som si to a nevidim tam chybu. Prosim vas najdite chybu preco mi to nekresli fakt normalny stvorec dakujem.

#include <stdio.h>
#include <stdlib.h>
#include "Znak2.h"

int main()
{
    int strana=0;
    int i=1;
    int j=1;
    char znak;

    printf("Zadajte cislo: ");
    scanf("%d",&strana);
    while(getc(stdin)!='\n');
    printf("Zadajte znak: ");
    scanf("%c",&znak);

    for(i=1;i<=strana;i++)
    {
        printf("%c",znak);
    }

    printf("\n");

    for(i=1;i<=strana-2;i++)
    {
        printf("%c",znak);
        for(j=1;i<=strana-2;j++)
        {
            printf(" ");
        }
        printf("%c\n",znak);
    }

    for(i=1;i<=strana-2;i++)
    {
        printf("%c",znak);
    }
    return 0;
}
Předmět Autor Datum
ok uz ma osvietilo prvu chybu vidim i namiesto j a dalsie je posledny cyklus tam ma byt iba strana n…
parker 09.11.2013 09:38
parker
Už si na to prišiel. Osobne by som nepoužil printf, keď tam stále vypisuješ len jeden znak. Napísal… poslední
los 09.11.2013 10:47
los

Už si na to prišiel. Osobne by som nepoužil printf, keď tam stále vypisuješ len jeden znak. Napísal by som to skôr takto:

#include <stdio.h>

int main() {
    int strana;
    char znak;
    int i;
    int j;

    printf("Zadajte cislo: ");
    scanf("%d", &strana);
    while (getchar() != '\n')
        ;

    printf("Zadajte znak: ");
    scanf("%c", &znak);
    while (getchar() != '\n')
        ;

    for (i = 0; i < strana; ++i) {
        putchar(znak);
    }
    putchar('\n');

    for (i = 0; i < strana - 2; ++i) {
        putchar(znak);
        for (j = 0; j < strana - 2; ++j) {
            putchar(' ');
        }
        putchar(znak);
        putchar('\n');
    }

    for (i = 0; i < strana; ++i) {
        putchar(znak);
    }
    putchar('\n');

    return 0;
}

Zpět do poradny Odpovědět na původní otázku Nahoru