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

  • Dead_slow

    tag

    Üdv!
    Újabb problémám lenne, ezúttal a feladat a következő:
    Egy NxN-es méretű négyzetrácsos táblára bábokat helyezünk el, egy mezőre maximum egyet. A program bekéri a tábla méretét, majd egyenként a bábok pozicioját (pl.:B3). Az utolsó báb után egy x karaktert ütünk.
    A program ezután kijelzi a táblát, valamint minden sorhoz és oszlophoz kijelzi az ott található bábok számát (a nullát nem kell kiírni).

    #include<stdio.h>

    int i,j,sorszum,oszlopszum,meret;
    char tabla[40][40];
    char imp[2];

    void init(){
    for(i=0;i<meret;i++){
    for(j=0;j<meret;j++){
    tabla[i][j]=' ';
    }
    }
    }

    void beker(){
    do{
    printf("Kerem a tabla meretet: ");

    scanf("%d",&meret);

    printf("Kerem a babu poziciojat:");
    scanf("%s",imp);
    if(imp[0]!='x')tabla[imp[1]-'1'][imp[0]-'A']='x';
    }while(imp[0]!='x');

    }

    void rajzol(){

    printf("\n ");

    for(i=0;i<meret;i++)

    printf("%c ", 'A'+i);
    printf("\n");

    for(i=0;i<meret;i++){
    printf("%2d", i+1);

    for(j=0;j<meret;j++){
    if(tabla[i][j]==' ')
    printf("| ");
    else{
    sorszum++;
    printf("|%c",tabla[i][j]);
    }
    }
    printf("|");

    if(sorszum>0) printf(" %d",sorszum);

    sorszum=0;
    printf("\n");
    }
    printf("\n ");
    for(j=0;j<meret;j++){

    oszlopszum=0;
    for(i=0;i<meret;i++){

    if(tabla[i][j]=='x'){
    oszlopszum++;
    }
    }


    if(oszlopszum>0) printf("%d ", oszlopszum);
    else printf(" ");
    }

    printf("\n");
    }
    int main(){
    init();
    beker();
    rajzol();
    system("PAUSE");
    return 0;
    }

    Akármit csinálok az sorok végén mindig a bekért tábla méret jelenik meg az x-ek száma helyett. Mi lehet a gond?

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