Hirdetés

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

  • Dead_slow

    tag

    Üdv!

    Elég kezdő vagyok programozás témában, az alábbi feladat megoldásában kellene segítség, csak egy feltétel kell bele, de már fáradt vagyok és nagyon tompa, valszeg rettenet triviális a megoldás, ezért ne röhögjetek ki :D

    Szóval a feladat: Egy sakktbálára bábokat helyezünk el. Programunk kirajzolja a táblát, majd bekér egy lépésszámot. Ezután minden bábot a lépésszámnak megfelelő számú mezővel előre léptet(nagyobb sorszámú sorok felé), majd újra kirajzolja a táblát. A tábláról lelépő figurák természetesen nem kell kirajzoli.

    Nekem ezzel van gondom, ha túl nagy lépésszámot adok meg akkor átlép egy következő oszlopba.

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

    char tabla[10][10];
    int sor,oszlop,lep;
    char imp[3];

    void init(){
    for(sor=0;sor<9;sor++){
    for(oszlop=0;oszlop<9;oszlop++)
    tabla[sor][oszlop]=' ';
    }
    }

    void lerak(){
    char babu;

    do{

    printf("Kerem a babut es a poziciojat pl.:(Ha1): ");
    scanf("%s",imp);

    babu=imp[0];
    oszlop=imp[1]-'a';
    sor=imp[2]-1-'0';

    if(imp[0]!='*')
    tabla[oszlop][sor]=babu;

    }while(imp[0]!='*');

    }

    void rajzol(){
    int i,j;
    printf("\n ");
    for(i=0;i<8;i++)
    printf("%c ", 'A'+i);
    printf("\n");
    for(i=0;i<8;i++){
    printf("%d ", i+1);
    for(j=0;j<8;j++)
    printf("|%c", tabla[j][i]);
    printf("|\n");
    }
    }

    void leptet(){
    int i,j,k;
    k=0;
    printf("lepeszsam:");
    scanf("%d",&k);



    printf("\n ");
    for(i=0;i<8;i++)
    printf("%c ", 'A'+i);
    printf("\n");
    for(i=0;i<8;i++){
    printf("%d ", i+1);
    for(j=0;j<8;j++)

    printf("|%c", tabla[j][i-k]);

    printf("|\n");
    }
    }

    int main(){
    init();
    lerak();
    rajzol();
    leptet();
    system("PAUSE");
    return 0;
    }

    [ Szerkesztve ]

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