Vysvetlenie For() v C

Sekcia: Programovanie 30.12.2006 | 20:51
Palko   Návštevník
Ahoj. Môžte mi prosím vás vysvetliť, teoreticky možno i prakticky funkciu for(); v programovaní pre C? Mám knihu a učím sa a je fakt skvela, ale neviem pochopiť túto funkciu a ani ako ju využiť...možno je to špatne pre mna vysvetlené.. kdevelope....učím sa programovať... Dakujem.
    • Re: Vysvetlenie For() v C 22.06.2006 | 21:09
      Palko   Návštevník
      Sorry. malo to byt v programovani...tukol som sa
    • Re: Vysvetlenie For() v C 22.06.2006 | 21:21
      Avatar uid0 Debian  Používateľ
      for() nie je funkcia ale cyklus. http://www.manualy.sk/C.Kernighan.Ritchie.gz kapitola 1.3
      Debian. apt-get into it…
      • Re: Re: Vysvetlenie For() v C 22.06.2006 | 21:39
        Palko   Návštevník
        Dakujem je to fajn, ale skôr som myslel v praxi uživatelske vysvetlenie, lebo z toho som puk.. cital som asi 5vysvetleni ale nechapem tomu cyklu...
        • Re: Re: Re: Vysvetlenie For() v C 22.06.2006 | 21:47
          Avatar KiLo Debian stable  Používateľ
          neviem comu presne nechapes, ale napisem ti priklad z praxe int i,pole[100]; for(i=0;i
          cat /dev/dsp > /dev/sda - ovladanie pocitaca hlasom
          • Re: Re: Re: Re: Vysvetlenie For() v C 22.06.2006 | 21:50
            Avatar KiLo Debian stable  Používateľ
            super, mi to cele zozralo kvoli znamienku 'mensie'. Som ja lama-babrak
            cat /dev/dsp > /dev/sda - ovladanie pocitaca hlasom
        • Re: Re: Re: Vysvetlenie For() v C 22.06.2006 | 21:48
          Avatar Tomáš Srnka Barz čo, už asi všetko  Administrátor
          proste ked potrebujes, aby ti nieco zbehlo urcity pocet krat... ono to dokaze, to iste co while (), ale ma to inu syntax a v niektorych pripadoch to je lepsie (menej kodu). Osobne preferujem for pred while.
          Dlho som robil linuxos.sk, neskôr založil vpsFree.cz, posledných pár rokov ako tech. riaditeľ vo Websupporte
        • Re: Re: Re: Vysvetlenie For() v C 22.06.2006 | 21:52
          Avatar uid0 Debian  Používateľ
          uzivatelske vysvetlenie by bolo dost dlhe. hlavne musis pochopit najcastejsie vyuziteie for (inicializacia; podmienka pokracovania; uprava premennej) ; kazdu cast mozes vynechat - nekonecny cyklus:
          for (;;) ;
          Debian. apt-get into it…
        • Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 13:52
          jv   Návštevník
          Prikaz (alebo skupina prikazov) za tymto prikazom sa vykona. Prik;ad: for(prikaz0 ; podmienka ; prikaz1) { skupinaprikazov; } mozno inak internpretovat ako: prikaz0; { if( podmienka ) Goto KoniecCyklu; skupina prikazov; prikaz1; } KoniecCyklu: Dufam, ze pomohlo.
          • Re: Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 15:08
            Avatar uid0 Debian  Používateľ
            prikaz0; while (1) { if( !podmienka ) Goto KoniecCyklu; skupina prikazov; prikaz1; } KoniecCyklu:
            Debian. apt-get into it…
            • Re: Re: Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 18:18
              jv   Návštevník
              Heh, jasne, bolo to pisane z rychlika (moja chyba, dufam, ze som nebol po mojom vstupe dezorientovany)...
        • Re: Re: Re: Vysvetlenie For() v C 30.12.2006 | 01:30
          Avatar hafik Slackware 10.2  Používateľ
          Napriklad chces 10 krat vypisat ahoj: for(int i = 0; i < 10; i++) printf("Ahoj"); Vytvori sa premenna i s hodnotou 0. Pred kazdym cyklom sa otestuje podmienka a po kazdom cykle sa zvysi premenna i o 1.
          • Re: Re: Re: Re: Vysvetlenie For() v C 30.12.2006 | 02:15
            Avatar uid0 Debian  Používateľ
            myslim, ze to tu je uz pol roka vydiskutovane :) len poznamocka, ze tvoj zapis je vhodny pre prekladac c99
            Debian. apt-get into it…
    • Re: Vysvetlenie For() v C 26.06.2006 | 14:46
      Avatar nardew debian  Používateľ
      teoreticky: for (int DH; int HH; krok) { prikazy...; } znamena, ze ako prvy parameter pre for sa nastavi pociatocna hodnota riadiacej premennej, druhy parameter je horna hranica, cize znamena, ze prikazy medzi { a } sa budu vykonavat dovtedy, dokym riadiaca premenna nenadobudne HH(horna hranica), pripadne kym nesplna nejaku podmienku(mensie, mensie nanajvys rovne apod.) a treti parameter je hodnota, o ktoru sa ma riadiaca premenna zvysovat kazdym cyklom. cize kukni priklad priklad: int I, pole[10]; for (I = 1; I <= 10; I++) { printf(pole[I]); } I sa nastavi na 1(prvy parameter cyklu) a prikazy sa budu vykonavat dovtedy, kym I <= 10(druhy parameter cyklu). lenze I sa musi kazdym prechodom cyklu zvysit o nejaku hodnotu, aby bola podmienka vobec niekedy nesplnena(aby sa cyklus ukoncil).. preto I++ kazdym cyklom inkrementuje premennu o 1. cize vystup programu bude: I = 1 ... printf(pole[1]) I = 2 ... printf(pole[2]) I = 3 ... printf(pole[3]) I = 4 ... printf(pole[4]) . . . no snad vysvetlene...
      • Re: Re: Vysvetlenie For() v C 26.06.2006 | 16:25
        Avatar Ladislav Michnovic SuSE  Používateľ
        A ja som si vzdy myslel, ze pole sa indexuje od 0 a ze najvyssi index je tym padom o jeden mensi. int I, pole [10]; for (I = 0; I
        Only man who sells empty boxes is the undertaker.
        • Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 17:04
          Avatar uid0 Debian  Používateľ
          heh, mas pravdu - ten program by segfaultoval :))
          Debian. apt-get into it…
        • Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 18:49
          Avatar nardew debian  Používateľ
          njn, vyrastal som na pascale a v tej rychlosti som sa nad tymto nezamyslal, ale mate pravdu... ale myslim ze pre pochopenie foru to tam vobec nie je dolezite... ale dik za upoz.
          • Re: Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 19:13
            Avatar uid0 Debian  Používateľ
            neboj, pascal zabudnes raz-dva. ci to len ja mam taku zlu pamat? :)
            Debian. apt-get into it…
            • Re: Re: Re: Re: Re: Vysvetlenie For() v C 26.06.2006 | 23:05
              nardew   Návštevník
              no kiez by tomu tak bolo ;) ale po 8 rokoch na pocitacovom gympli len s pascalom neviem neviem.. :)
    • Re: Vysvetlenie For() v C 30.12.2006 | 02:32
      Avatar Frantisek Klabzuba Debian  Používateľ
      Ale no tak hosi, pouzivat for na aritmeticky cyklus, ta to kde sme? Co takto prechadzat nim spojovy zoznam... PrvokSpojovehoZoznamu *i; for (i = PrvyPrvokZoznamu; i != NULL; i = i->Next()) { printf("%d\\n",i); }
      • Re: Re: Vysvetlenie For() v C 30.12.2006 | 02:55
        Avatar uid0 Debian  Používateľ
        ty tu rozdavas takyto nefunkcny kod? co to je za typ? nejaky typedef struct asi ze... co ma potom znamenat i->Next()? preco tam mas funkciu, ha? :P
        Debian. apt-get into it…
        • Re: Re: Re: Vysvetlenie For() v C 30.12.2006 | 16:15
          Avatar Frantisek Klabzuba Debian  Používateľ
          Ok, takze zmenim nazov toho typu z PrvokSpojovehoZoznamu *i; na PrvokSpojovehoZoznamuCoJeObjektAMaFunkciuNextKtoraVraciaDalsiZaznam *i; Moze byt?
          • Re: Re: Re: Re: Vysvetlenie For() v C 30.12.2006 | 16:26
            Avatar uid0 Debian  Používateľ
            nie, pozri sa na subject Vysvetlenie For() v C odkedy ma C objekty?
            Debian. apt-get into it…
            • Re: Re: Re: Re: Re: Vysvetlenie For() v C 30.12.2006 | 20:51
              Srigi   Návštevník
              jj, netahaj tu typkovi nejake objekty, ked chudak ziada o vysvetlenie for () {} (no disrespect autorovi otazky).