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

  • rothkrisz

    csendes tag

    Sziasztok!

    Ezt a programot kellene megírnom a forrás kód alapján

    Készítsen C programot, amely bekér egy pozíciót (pl. B3), majd egy 8x8-as sakktáblán elhelyez egy gyalogot a megadott pozicióra. Ezután a gyaloggal egyesével lépeget "lefelé", azaz a kisebb indexű sorok felől a nagyobb indexűek felé.

    A program rajzolja ki minden lépésben a sakktáblát a gyalog aktuális pozíciójával.

    Pl. bemenet: D5. Ekkor a program kirajzol 4 darab sakktáblát egymás alá, amelyeken a gyalog rendre a D5, D6, D7, illetve D8 mezőkön áll.

    #include<stdio.h>
    #include<ctype.h>

    #define N 8
    int oszlop,sor,sorix,ervenyes,oszlopix;
    char szin,babu;
    char tabla[N][N];
    char inp[100];

    void init(){
    for (sor=1;sor<=N;sor++)
    for(oszlop=1;oszlop<=N;oszlop++)
    tabla[sor-1][oszlop-1]=' ';
    }

    void poziciobeker(){
    do {
    printf("pozicio: ");
    scanf("%s",inp);

    oszlopix=toupper(inp[0])-'A';
    sorix=inp[1]-'1';
    babu=inp[2];

    ervenyes=((babu=='1' || babu=='2' || babu=='5') && toupper(inp[0])<'A'+N && inp[0]!='*');
    if (ervenyes) tabla[sorix][oszlopix]=babu;
    }while(inp[0]!='*');
    }
    void kirajzol(){
    printf(" ");
    for(oszlop=1;oszlop<=N;oszlop++) printf(" %c ", oszlop+'A'-1);
    printf("\n");
    for (sor=1;sor<=N;sor++){
    printf(" ");
    for(oszlop=1;oszlop<=N;oszlop++) printf("+--");
    printf("+\n");
    printf("%2d", sor);
    for (oszlop=1;oszlop<=N;oszlop++){
    szin=' ';
    babu=tabla[sor-1][oszlop-1];
    printf("|%c%c", szin, babu);
    }
    printf("|\n");
    }
    printf(" ");
    for (oszlop=1;oszlop<=N;oszlop++) printf("+--");
    printf("+\n");
    }
    int main(){
    init();
    poziciobeker();
    kirajzol();
    return 0;
    }

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