Hirdetés

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

  • blaces

    tag

    Sziasztok!

    Nem tagadom beadandó házifeladat :U A lenti kódból látszik is, hogy milyen kezdő vagyok...
    A feladat ez akar lenni: Írj programot, amely a népszerű kő-papír-olló játék végeredményét segít eldönteni! Ezt a játékot ketten játsszák és több körből áll. A program írja a standard outputra, hogy melyik játékos nyert! Ha az első, a kimeneten az "elso" szó jelenjen meg, ha a második, akkor a "masodik", ha pedig döntetlen lett a játék végeredménye, akkor a "dontetlen" szó! (A körök összesített eredményét kell kiíratni.) A program bemenetként megkapja a körök számát, majd utána soronként két betűt, szóközzel elválasztva. Ez a két betű jelenti az első, ill. a második játékos választását (k - kő, p - papír, o - olló). Mindig az nyeri a kört, akinek a választása "erősebb" a másik játékosénál (a kő kicsorbítja az ollót, az olló elvágja a papírt, a papír becsomagolja a követ).
    példa bemenetre:
    3
    p k
    k o
    p p

    erre a kimenet: elso

    #include <stdio.h>

    int main(){

    int n, elso, masodik;
    char p, k, o;
    int i=1;
    int elsonyer=0;
    int masodiknyer=0;
    scanf("%d", &n);

    while(i<=n){
    scanf("%c %c", &elso, &masodik);

    if(elso=='p' && masodik=='k')
    elsonyer+=1;
    else if(elso=='p' && masodik=='o')
    masodiknyer+=1;
    else if(elso=='k' && masodik=='p')
    masodiknyer+=1;
    else if(elso=='k' && masodik=='o')
    elsonyer+=1;
    else if(elso=='o' && masodik=='p')
    elsonyer+=1;
    else if(elso=='o' && masodik=='k')
    masodiknyer+=1;
    i++;
    }

    if (elsonyer>masodiknyer)
    printf("elso\n");
    else if (elsonyer<masodiknyer)
    printf("masodik\n");
    else
    printf("dontetlen\n");

    return 0;

    }

    A körök számát bekéri, aztán beadom neki, hogy:"p k" nyomok egy entert, erre eredményül azt írja ki, hogy döntetlen :(((

    Hol lehet a hiba? :U

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