Hirdetés

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

  • Jester01
    veterán

    köszi a válaszokat :)

    esetleg erre:
    pl. irj egy fol progit ami bekér egy számot,ha páros,akkor irja ki a felét a számnak ,ha nem akkor irja ki a haromszorosát es adjon hozzá egyet. Csak akkor áll le a progi ha valamelyik érték 1 -s lessz. pl. 3 számra ezt fogja kiirni 3, 10, 5, 16,
    8, 4, 2, 1. Gondolod hogy valaha is megáll a program futása.

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>


    int main(void)
    {
    int a,d,egy = 1;


    scanf("%d",&a);

    do{

    d=a%2;

    if (d == 0)
    {
    printf("\n%d ",d=a/2);
    }
    else{
    printf("\n%d ",d=a*3+1);
    }
    }while(d != '1');


    return 0;
    }

    Erre jutottam,de valmi gond van vele :B

    Van több is ;)

    while(d != '1');
    Ide nem karakter konstans kell, csak simán egy szám.

    Másik probléma, hogy a d-be számítod ki az új értéket de az a-t használod.

    Kicsit letisztázva ilyesmi lehet:

    #include <stdio.h>

    int main(void)
    {
    int a;

    scanf("%d",&a);
    do
    {
    if (a % 2 == 0)
    {
    a = a / 2;
    } else {
    a = a * 3 + 1;
    }
    printf("%d\n", a);
    } while (a != 1);

    return 0;
    }

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