Hirdetés

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

  • axioma
    veterán

    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. hasznald a kod formazast
    2. a haromjegyu szamok 100-tol vannak nem 0-tol
    3. miert van do es for ciklus is?
    4. a for ciklus bentmaradasi feltetele sose teljesul, mert ott <= kene legyen, a while meg a kilepesit sose eri el, (*) mivel nem noveled az i-t (na jo 1x de aztan visszaall)
    +1. ilyenkor elso teszt hogy kiveszed az if-et, es ha me'g mindig nem ir ki semmit, akkor a kiirasig (feltetelig) el se jut - az nem tunt fel hogy nemcsak hogy nem ir ki, hanem nem is allt le? azt is figyeld
    Egy picit kene szerintem nezegetned az alapveto vezerlesi szerkezetek helyes hasznalatat a tankonyvben, jegyzetben, vagy a neten. [Beirhatnank ide a megoldast de azzal nem jegyezned meg melyik miert nem volt jo.]

    (*) Re 6092:
    Igen, ezen en is gondolkoztam mert nem is neztem elsore hogy pont egy C-s topikban van egy algoritmikus(nak tuno) kerdes, nalam a hatultesztelos ciklus az kilepesi felteteleskent rogzult me'g pascal idokbol. De teny, tudhattam volna a while-bol hogy az is bennmaradasi, bocsanat a hibaert. Tehat kilep, es leall, csak a 0 nem felel meg a feltetelnek...

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