Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 21.8.2014, 21:51   #1
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Eratostenovo sito u C jeziku

Zdravo svima!

Nadam se da ćete mi pomoći i nešto me naučiti u ovoj temi. Rešavam jedan zadatak u C-u. Tekst zadatka je sledeći:

"Napisati program koji ispisuje sve proste brojeve manje od 10000 kroisteći Eratostenovo sito."

Ja sam napisao sledeće rešenje, ali su mi ispisivani samo neki brojevi od preko osam i po hiljada (mislim da su prosti), pa sam stavio da mi ispisuje samo proste manje od 100:

Kod:
int main()
{    int niz[101], i, j;
     
for(i=2; i<101; i++)
     
{    for(j=2; j<101; j++)
         
{    if(niz[j]==0)
                  niz[j]=0;

else
              {    if(j>i && j%i==0)  
                      niz[j]=0;
                  
else
                      niz[j]=j;}
}
         
if(niz[i]==i)
             printf("%d\t", niz[i]);}   
     
return 0; 
}
Kada pokrenem ovu verziju rešenja, na monitoru su ispisani svi prosti brojevi manji od 100, osim 7 i 73. Zašto je to tako?

Unapred hvala!

Poslednja ispravka: NEWSWEETTOFFEE (22.8.2014 u 19:22) Razlog: CODE tag
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 21.8.2014, 21:54   #2
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć

Kako da postavim kod, da izgleda kao kada ga napišem u originalu?
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 21.8.2014, 23:04   #3
NIKOLA94s
Član
 
Član od: 30.5.2010.
Poruke: 409
Zahvalnice: 83
Zahvaljeno 41 puta na 39 poruka
Određen forumom Re: Molim vas za pomoć

Prekucaj zagrade samo tj. lepo ih stavi u odgovarajuci red da bi se videli kao u programu.
Drugo, tebi posle 2 treba broj 3 a ne 4(i++ za 2 predhodno=4) tako da kad si proveravao da li je ostatak deljenja 0 onda stavi minus 1 za taj korak i onda dodajes po 2. Nisam nikad ovo radio ali secam se slicnih stvari iz srednje, tako da mozda, moguce, gresim
NIKOLA94s je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 9:25   #4
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć

Citat:
NIKOLA94s kaže: Pregled poruke
Prekucaj zagrade samo tj. lepo ih stavi u odgovarajuci red da bi se videli kao u programu.
Drugo, tebi posle 2 treba broj 3 a ne 4(i++ za 2 predhodno=4) tako da kad si proveravao da li je ostatak deljenja 0 onda stavi minus 1 za taj korak i onda dodajes po 2. Nisam nikad ovo radio ali secam se slicnih stvari iz srednje, tako da mozda, moguce, gresim
Nažalost, ne mogu da shvatim šta želiš da mi kažeš.
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 12:54   #5
Teva
Starosedelac
 
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
Određen forumom Re: Molim vas za pomoć

http://pastebin.com/
Teva je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 14:04   #6
Twisterzemun
Član
 
Član od: 6.2.2012.
Poruke: 151
Zahvalnice: 87
Zahvaljeno 60 puta na 40 poruka
Određen forumom Re: Molim vas za pomoć

Meni prikazuje i 7 i 73...

Twisterzemun je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 14:10   #7
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć

Citat:
Twisterzemun kaže: Pregled poruke
Meni prikazuje i 7 i 73...

Znači, nisam trebao da stavim '\t' posle ispisivanja broja.
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 15:16   #8
cane.prebranac
Starosedelac
 
Član od: 14.6.2011.
Poruke: 2.250
Zahvalnice: 137
Zahvaljeno 440 puta na 399 poruka
Određen forumom Re: Molim vas za pomoć

Citat:
NEWSWEETTOFFEE kaže: Pregled poruke
Znači, nisam trebao da stavim '\t' posle ispisivanja broja.
\t nema veze, evo ja sam probao kod u CODE::BLOCKS-u i isto ne izbacuje 7 i 73. kao da nesto kompajler zeza.
cane.prebranac je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 15:23   #9
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć

Citat:
cane.prebranac kaže: Pregled poruke
\t nema veze, evo ja sam probao kod u CODE::BLOCKS-u i isto ne izbacuje 7 i 73. kao da nesto kompajler zeza.
I ja sam pisao zadatak u CODE::BLOCKS (na vindousu 7, ako će to nešto značiti). Nemoj da je kompajler, moraću samom sebi da verujem.
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 16:25   #10
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.085
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: Molim vas za pomoć

Kod mene izlazi sedmica, ali ne 73. Kompajler je gcc 4.6.3.
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 17:09   #11
Belphegor
V.I.P. Programiranje
 
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
Određen forumom Re: Molim vas za pomoć

redundant
Kod:
if(niz[j]==0)
    niz[j] = 0;
A ne vidim gde je niz inicijalizovan pre koriscenja? Lokalne promenjljive u "debug" modu su 0 a u "release" verovatno sadrze "garbage" vrednosti?
Belphegor je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 18:03   #12
NEWSWEETTOFFEE
Član
 
Član od: 3.5.2012.
Poruke: 45
Zahvalnice: 16
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: Molim vas za pomoć

Citat:
Belphegor kaže: Pregled poruke
redundant
Kod:
if(niz[j]==0)
    niz[j] = 0;
A ne vidim gde je niz inicijalizovan pre koriscenja? Lokalne promenjljive u "debug" modu su 0 a u "release" verovatno sadrze "garbage" vrednosti?
Znači, ako pre mojih for petlji odredim da svi elementi u mom nizu 'niz' imaju vrednost 0 onda će da valja? Jes da dodaje još n koraka, ali ionako me sada brzina programa ne interesuje. U suprotnom elementi će da dobijaju neke proizvoljne vrednosti, pre prvog prolaska kroz for petlju za moje j, koliko sam shvatio?
NEWSWEETTOFFEE je offline   Odgovor sa citatom ove poruke
Stara 22.8.2014, 18:24   #13
Belphegor
V.I.P. Programiranje
 
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
Određen forumom Re: Molim vas za pomoć

Citat:
NEWSWEETTOFFEE kaže: Pregled poruke
Znači, ako pre mojih for petlji odredim da svi elementi u mom nizu 'niz' imaju vrednost 0 onda će da valja?
Ne kazem da ce da valja samo ukazujem na logicne greske jer ovako imas nepredvidivo ponasanje. Treba sad naci dokument o c++ standardu gde se pominje pravilo kako se inicijalizuju POD promenljive, ne mogu sad da se smaram i trazim.
Ako ne dobijas ocekivan output onda ti je 99.9999% problem u algoritmu a ne do kompajlera. Na zalost ne znam ni ja korektan algoritam za prime brojeve tako da je najbolje da sacekas da ti odgovori neko ko je vec ovo radio.

Ne znam da li ti je uposte i potreban niz? U svakom slucaju ovako mozes da ga inicijalizujes sa 0.
Kod:
int niz[101] = {};
int i, j;
edit: Ako ocekujes da ti neko pomogne preimenuj temu da ima smislen naziv i formatiraj lepo kod da se moze normalno citati.
Belphegor je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Belphegor na korisnoj poruci:
NEWSWEETTOFFEE (22.8.2014)
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Molim pomoć Anaa Kvarovi 19 12.12.2014 0:37
Molim za pomoć oko kupovine The_Sashka ŠDK - Konfiguracije 28 18.7.2014 15:42
Molim za pomoć! Persuader ŠDK - Osnovne komponente 4 22.1.2010 16:29
ps3 servis gde ima molim pomoć water wizard Konzole 5 21.1.2010 23:44
oštećen file sa Torrenta - molim za pomoć slobodan kos Video/TV softver 16 11.8.2008 0:33


Sva vremena su po Griniču +2 h. Sada je 8:10.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com