Hirdetés

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

  • Ezt a függvényt szeretném egyszerűsíteni:
    A lényege, hogy kap egy karaktert és egy irany változót.
    Ha az irany = 0, akkor balról-jobbra vagy is normálisan írja ki a karaktert, de ha az irany = 1, akkor jobbról-balra írja ki a karaktert.
    Így:
    .....
    oooo.
    o...o
    oooo.
    o...o
    o...o
    oooo.
    .....
    .oooo
    o...o
    .oooo
    o...o
    o...o
    .oooo

    A kód:

    void karakter(unsigned char karakter, unsigned char irany){
    unsigned char i, mask;
    for(i=0; i<7; i++){
    if(irany == '1'){
    for(mask=0x01; mask != 0x20; mask <<= 1){
    if (ABC[karakter][i] & mask){
    printf("o");
    }else{
    printf(".");
    }
    }
    }else{
    for(mask=0x10; mask != 0; mask >>= 1){
    if (ABC[karakter][i] & mask){
    printf("o");
    }else{
    printf(".");
    }
    }

    }
    printf("\n");
    }
    }

    Előre is köszi...

    Üdv!

    Talán egyszerűbb:

    void karakter(unsigned char karakter, unsigned char irany){
    unsigned char i;
    unsigned char normal = (irany == '0');
    unsigned char mask_end = normal ? 0 : 0x20;
    unsigned char mask;

    for(i=0; i<7; i++){
    mask = normal ? 0x10 : 0x01;
    while (mask != mask_end) {
    if (ABC[karakter][i] & mask){
    printf("o");
    }else{
    printf(".");
    }
    if(normal) {
    mask >>= 1;
    } else {
    mask <<= 1;
    }
    }
    printf("\n");
    }
    }

    Imi.

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