Hirdetés

Új hozzászólás Aktív témák

  • Jester01
    veterán

    C prog. -hogyan tovább (visszafele számoljon a ciklus)?
    Feladat egy olyan karacsonyfa kirajzolasa,aminek emeletei 2 vel novekszik(sora)
    http://img442.imageshack.us/img442/7364/unlediq.png

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

    int main()
    {
    int i,j,x,a;

    scanf("%d", &x);


    for (a=1;a<=3;++a){

    for( i = 1; i <= x; i += 2 )
    {

    for( j = i; j < x; j+=2 )
    {
    printf(" ");
    }

    for( j = x-i; j < x; j++ )
    {

    printf("*");
    }

    for( j = i; j < x; j+=2 )
    {
    printf(" ");
    }

    printf("\n");
    }

    }
    return 0;
    }

    ez a progi tudja aztot,hogy megadom,hogy pl. 10 ...akkor addig irja a piramist míg 10 csillag kinem jon és ezt háromszor egymas ala megcsinálja.

    Ezt ugy atírni,hogy pl. 10 et megadok és visszafele
    a legutolso "emelet"-ől kezdve rajzolja ki. Majd az alatta lévő már csak 8 legyen, és így tovább.

    gondoltam olyanra,mint a pascalban van,hogy for downto ...szoval visszafele számoljon...de mikor felcsereltem a for ban a kiindulast es a végértéket a csillagok ossze-vissza futkostak a kepernyon..majd egy masik probalkozasnal csak siman a gorgeto lefutott a kepernyo aljara es semmit nem csinalt.

    Ugye a for(i = 1; i <= x; i += 2) ciklusod csak a páratlan számokon megy végig, így a végérték vagy x (ha x páratlan) vagy x - 1 (ha x páros). Ezért simán nem lehet megfordítani, mivel a kezdőértéket pontosan kell megadni. Például így: for(i = (x & 1) ? x : (x - 1); i >= 1; i -= 2)

Új hozzászólás Aktív témák