C jezik - problem sa petljama

6

C jezik - problem sa petljama

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Napisano: 01 Nov 2014 23:33

Kako ti misliš da b puta sabereš a? Very Happy

Dopuna: 01 Nov 2014 23:36

Pazi ovako. Imaš da je S na početku jednako 0. Pa mu dodaš a. Sada je S = a. Pa mu dodaš još a. Sada je S = a+a. Pa mu dodaš a. Sada je S = a+a+a. Pa mu dodaš a... Very Happy



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Miloš
  • Pridružio: 23 Maj 2011
  • Poruke: 1069

I da mu dodajem a sve dok S ne bude jednako sa b? Very Happy

... S=0 while(S=b) { S=S+a } printf("%d",S); ...



offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Ne. Ovo što si sada napisao ima više grešaka, i to logučkih, ne samo sintaksnih. Hajde probaj malo da se skoncentrišeš. Ako pažljivo upariš prethodno i ovo rešenje dolaziš do tačnog rešenja. Nemoj samo da pišeš kod bez ikakve veze, već dobro razmisli o onome što treba da uradiš o onome šta treba da postigneš. Suštinu si razumeo, sada to samo trebaš da spustiš na nivo programskog jezika. Wink

offline
  • Miloš
  • Pridružio: 23 Maj 2011
  • Poruke: 1069

evo ga, viiii

#include <stdio.h> main() {    int a,b,i,S;    S=0;    i=0;        printf("Unesi prvi broj: ");    scanf("%d",&a);    printf("Unesi drugi broj: ");    scanf("%d",&b);        while(i<b)    {       S=S+a;       i++;       }    printf("Proizvod brojeva je %d",S);     }

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Bravo! Evo kako bi mogao tu while petlju da zameniš for petljom i rešiš zadatak u samo jednoj liniji: for(; i < b; S += a, i++); Ako ti je čudna ova tačka-zarez na početku petlje, to je zbog toga što si inicijalizaciju (dodelu vrednosti) promenljivih i i S odradio u prilikom deklaracije. Da nisi, ovako bi izgledala petlja:
for(i = 0, S = 0; i < b; S += a, i++);...što je malo razumljivije. Very Happy

offline
  • Miloš
  • Pridružio: 23 Maj 2011
  • Poruke: 1069

vasa.93 ::
Što se tiče prostih brojeva, postoji i još optimalnije rešenje, dosta brže od bilo kog drugog. No, o tom po tom. Very Happy


Zbori. Very Happy U pitanju je ispitivanje na času, tako da što je kraći zadatak imam više vremena za ostale. Razz

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Miloš CG ::Zbori. Very HappyJa rekoh sve što sam imao. Na tebi je sada da implementiraš sve to. Počni od nečega, pa ćemo da pomažemo ako treba. Very Happy

Bez muke nema nauke. Wink

offline
  • Miloš
  • Pridružio: 23 Maj 2011
  • Poruke: 1069

vasa.93 ::

Miloš CG ::2. Da ispišem proste brojeve do zadatog N broja i da ispišem koliko ih ima. (ispisaću ih pomoću brojača, ali petlja za proste brojeve?)

Broj N je prost ako nije deljiv ni sa jednim brojem manjim od njega samog, tj. od 2 do N-1


Ne, ne, broj N zadaje korisnik dokle će program da traži proste. Nije mi jasno ovo od 2 do N-1?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Miloš CG ::Ne, neDa, da. Wink Iskoristio sam istu oznaku (N), ali sam govorio o opštem slučaju. Kapiram da kapiraš da tu proveru moraš da radiš za svaki broj od 1 do N. Very Happy Dakle, znaš kako da nađeš prosti broj! Sada samo to primeniš na svaki broj od 1 do N. Imaš dve petlje, ugnježdene su. Spoljna vrti od 2 (1 je priča za sebe, nije ni prost ni složen, pa ga zato u startu eliminišemo) do N (ili do N-1, zavisno od pristupa koji odabereš) , a unutrašnja se pokreće za svaku iteraciju spoljne i ide od 2 do i (ili do i-1, isto zavisno od pristupa i pod uslovom da promenljivu i koristiš za brojanje iteracija u spoljnoj petlji).
Miloš CG ::Nije mi jasno ovo od 2 do N-1?Šta ti tačno nije jasno?

offline
  • Miloš
  • Pridružio: 23 Maj 2011
  • Poruke: 1069

Čekaj, kako sad dvije petlje? Jel može to ovako nekako:

#include <stdio.h> main() {    int N, i;    i=1;        printf("Unesi broj: ");    scanf("%d",&N);        while(i<N)    {       if(prost-broj)       printf("%d",i);    } }

Ko je trenutno na forumu
 

Ukupno su 1204 korisnika na forumu :: 42 registrovanih, 11 sakrivenih i 1151 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Andrija357, Brana01, cavatina, ccoogg123, comi_pfc, debeli, Denaya, Dimitrise93, dragoljub11987, FOX, goxin, hatman, ikan, Istman, Karla, Kriglord, Kubovac, kunktator, kybonacci, laganini123, laki_bb, Libertas, Lieutenant, Mi lao shu, Milometer, Mixelotti, mkukoleca, nemkea71, Pohovani_00, Recce, Sale.S, Srle993, stankolich, Stefan M, tomigun, Tvrtko I, vathra, VP6919, vukdra, vukovi, zeo, 125