Poslao: 01 Nov 2014 23:36
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14811
- Gde živiš: Niš
|
Napisano: 01 Nov 2014 23:33
Kako ti misliš da b puta sabereš a?
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...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 01 Nov 2014 23:53
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
I da mu dodajem a sve dok S ne bude jednako sa b?
...
S=0
while(S=b) {
S=S+a
}
printf("%d",S);
...
|
|
|
|
Poslao: 01 Nov 2014 23:57
|
offline
- vasa.93
- Moderator foruma
- 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.
|
|
|
|
Poslao: 02 Nov 2014 12:26
|
offline
- Miloš CG
- Super građanin
- 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);
}
|
|
|
|
Poslao: 02 Nov 2014 12:36
|
offline
- vasa.93
- Moderator foruma
- 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.
|
|
|
|
|
|
Poslao: 02 Nov 2014 15:32
|
offline
- Miloš CG
- Super građanin
- 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?
|
|
|
|
Poslao: 02 Nov 2014 15:42
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14811
- Gde živiš: Niš
|
Miloš CG ::Ne, neDa, da. 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. 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?
|
|
|
|
Poslao: 02 Nov 2014 16:23
|
offline
- Miloš CG
- Super građanin
- 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);
}
}
|
|
|
|