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

  • e=mc²

    őstag

    Sziasztok!

    Szeretnek segitseget kerni az alabbi programhoz:

    #include <stdio.h>
    #define TABLA_MERET 8

    void futo(char tabla[TABLA_MERET][TABLA_MERET], char input[3]){
    int sor, oszlop;

    printf("Kerem a futo poziciojat:");
    scanf("%s", input);
    sor = input[1] - '1';
    oszlop = input[0] - 'a';
    tabla[sor][oszlop] = 'f';
    }

    void gyalog(char tabla[TABLA_MERET][TABLA_MERET], char input[3]) {
    int sor, oszlop;

    do {
    printf("Kerem a gyalogok helyzetet:");
    scanf("%s", input);
    if (input[0] != '*') {
    sor = input[1] - '1';
    oszlop = input[0] - 'a';
    tabla[sor][oszlop] = 'g';
    }
    } while (input[0] != '*');
    }

    void futolepes(char tabla[TABLA_MERET][TABLA_MERET]){
    int i, sor, oszlop;
    int bl = 0;
    int bf = 0;
    int jl = 0;
    int jf = 0;

    for (i=sor+1; i<TABLA_MERET; i++) {
    //balra le
    if ((oszlop+(sor-i) >= 0) && !bl) {
    if (tabla[i][oszlop+(sor-i)] != 'g') {
    tabla[i][oszlop+(sor-i)] = '*';
    }else {
    bl++;
    }
    }
    //jobbra le
    if ((oszlop-(sor-i) < TABLA_MERET) && !jl) {
    if (tabla[i][oszlop-(sor-i)] != 'g') {
    tabla[i][oszlop-(sor-i)] = '*';
    }else {
    jl++;
    }
    }
    }
    for (i=sor-1; i>-1; i--) {
    //jobbra fel
    if ((oszlop+(sor-i) < TABLA_MERET) && !jf) {
    if (tabla[i][oszlop+(sor-i)] != 'g') {
    tabla[i][oszlop+(sor-i)] = '*';
    }else {
    jf++;
    }
    }
    //balra fel
    if ((oszlop-(sor-i) >= 0) && !bf) {
    if (tabla[i][oszlop-(sor-i)] != 'g') {
    tabla[i][oszlop-(sor-i)] = '*';
    }else {
    bf++;
    }
    }
    }
    }

    void kiir(char tabla[TABLA_MERET][TABLA_MERET]) {
    int i, j;

    printf("A tabla:\n");
    printf("\n ");
    for (i=0; i<TABLA_MERET; i++) {
    printf("%c ",'A'+i);
    }
    printf("\n");
    for (i=0; i<TABLA_MERET; i++) {
    printf("%d ", i+1);
    for (j=0; j<TABLA_MERET; j++) {
    if (tabla[i][j] != '\0') {
    printf("|%c", tabla[i][j]);
    } else {
    printf("|%c", '.');
    }
    }
    printf("|\n");
    }
    printf("\n");
    }

    int main() {
    char tabla[TABLA_MERET][TABLA_MERET];
    int i, j;
    char input[3];

    for (i=0; i<TABLA_MERET; i++) {
    for (j=0; j<TABLA_MERET; j++) {
    tabla[i][j] = '\0';
    }
    }

    futo(tabla, input);
    gyalog(tabla, input);
    futolepes(tabla);
    kiir(tabla);

    return 0;
    }

    Ez igy elszall hibaval a futolepes fuggvenyben, meghozza ha minden igaz az oszlop erteke miatt. Hogy lehetne oda atadni a futo aktualis helyzetet a a futo fv-bol? tabla[sor][oszlop]

    Ha a gyalog fuggveny fut le elobb, mint a futo fv, akkor jo.

    koszi, udv,

    Ambulimax Provider

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