Hirdetés

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

  • kovisoft
    őstag

    Sziasztok, eddig jutottam el, a program elindul, fut is hibaüzenet nélkül, csak nem ír ki semmit, nem látom hol rontottam el.
    #include <stdio.h>
    void main()
    {
    system("CHCP 1250"); system("CLS");
    int szazasok, tizesek, egyesek, i, szam;
    do {
    for (i=0; i=999; i++); {
    szazasok=i/100 ;
    tizesek= i%100/10 ;
    egyesek= i%10 ; }
    }
    while (i=999) ;
    szam=szazasok*100+tizesek*10+egyesek;
    if (szam==szazasok*szazasok*szazasok+tizesek*tizesek*tizesek+egyesek*egyesek*egyesek)
    printf("%d ", szam);
    }
    %MCEPASTEBIN%

    1. A külső do...while-ra nincs szükség (amúgy sem jó, mert a feltételben a szimpla = jel értékadás, nem pedig egyenlőségvizsgálat, ami a dupla == lenne).

    2. A belső for feltétele nem jó, mert itt is az i=999 feltételben a szimpla = értékadás. Amúgy sem egyenlőség, hanem <= vizsgálat kellene, és ha 3-jegyű számokat akarsz, akkor nem 0-tól, hanem 100-tól kellene indítani:

    for (i=100; i<=999; i++)

    3. A for után, de még a nyitó { előtt van egy pontosvessző, ez nem kell ide, emiatt üres a for belseje.

    4. A végső feltételvizsgálat és a printf a for ciklus belsejében kellene, hiszen minden egyes i-t meg akarsz vizsgálni.

    Szerk.: lassan gépeltem :)

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