Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno cyklus for

Ked zadam to cislo vzdy mi vyde viac delitelov o 2 napr. 10 ma 7 namiesto 5 neviete kde je chyba?? dakujem.

#include <stdio.h>

int main()

{
    int delitelia;
    int cislo;
    int i;

    printf("Tento program je na urcenie poctu delitelov v lubovolnom celom cisle.\n");
    printf("Zadaj cislo: ");
    scanf("%d",&cislo);
    for(i=2;i<=cislo;i++)
    {
        if(i%2==0)
        {
            delitelia++;
        }
    }
    printf("Pocet parnych cisel v %d je %d",cislo ,delitelia);
    getchar();
    getchar();
    return 0;
}

upraveno formátování do lidské podoby (touchwood)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Pes je zakopán zde: if(i%2==0)
Wikan 28.10.2013 20:41
Wikan
kurnik co tam moze byt zle?? :D Mne uz to nemysli po osmej :D
parker 28.10.2013 20:51
parker
tak třeba zjišťuješ dělitele, tj. postupně zkoušíš dělit zadané číslo nějakou sekvencí čísel. Kde má… nový
touchwood 28.10.2013 20:59
touchwood
ja som tam vlastne zle napisal ten uvod to ma zistit kolko parnych cisiel sa nachadza v tom cisle na… nový
parker 28.10.2013 21:04
parker
V tom případě stačí to číslo celočíseleně vydělit 2 a necpat tam nějaký cyklus. nový
Wikan 28.10.2013 21:05
Wikan
Tento program je na urcenie poctu delitelov v lubovolnom celom cisle Pocet parnych cisel... No možn… nový
Wikan 28.10.2013 21:00
Wikan
Ja viem ale proste ucitel po nas chce aby sme to stravili s cyklusom no a proste mi to vychadza zle… nový
parker 28.10.2013 21:17
parker
A vynulovat na začátku počet dělitelů jsi teda zkoušel nebo ne? nový
Wikan 28.10.2013 21:29
Wikan
No nechapem tomu ale fakt to funguje :D ale preco?? sak predsa kazda premenna v C ma mat na zaciatku… nový
parker 28.10.2013 21:36
parker
A to si myslíš, nebo ti to někdo řekl? nový
Wikan 28.10.2013 21:37
Wikan
Pocul som to tusim aj to potvrdil pan admin :) niekde na zaciatku komentar nový
parker 28.10.2013 21:40
parker
Tak to jsi ho jenom špatně pochopil. nový
Wikan 28.10.2013 21:43
Wikan
to může, ale nemusí být pravda, záleží na konkrétním kompileru C, jeho stáří, atd. Obecně platí, že… poslední
touchwood 28.10.2013 21:50
touchwood
cislo=0 delitelia=0 zadaj nenulove cislo ak cislo==0 exit for i=1;i<=cislo;i++ { ak nie je zbytok… nový
sakraforte 28.10.2013 21:35
sakraforte
Uz mi to ide dakujem moc vsetkym :) nový
parker 28.10.2013 21:36
parker

tak třeba zjišťuješ dělitele, tj. postupně zkoušíš dělit zadané číslo nějakou sekvencí čísel. Kde máš ve vzorci to zadané číslo d? Dále testuješ modulo dvou na iteraci, tj. dělitele ti to přičte za každé sudé iterované číslo i...

to může, ale nemusí být pravda, záleží na konkrétním kompileru C, jeho stáří, atd.

Obecně platí, že je lepší inicializovat, než to nedělat (dovolit si neinicializovat můžou jen lidi, co vědí co činí).

Já Cčko umím maximálně číst, nejsem programátor, takže mé doporučení je sichrovat se vždy.

http://publications.gbdirect.co.uk/c_book/chapter6 /initialization.html

Zpět do poradny Odpovědět na původní otázku Nahoru