Poslao: 21 Okt 2006 16:29
|
offline
- BrackoNe
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Elitni građanin
- Pridružio: 25 Jul 2003
- Poruke: 1829
- Gde živiš: Stara Pazova
|
E stvarno me nervira, pokušavam da ga uradim, ali nikako ne uspvam...
Zna li iko da mi pomogne, a traži se sledeće:
2. Opisati algoritam (bar na 2 načina) za nalaženje maksimalnog elementa datog niza.
3. Opisati algoritam nalaženje i štampanje svih prostih brojeva manjih od datog broja m.
Znači taman uradim jedan algoritam, kada skontam da ne radi, onda drugi, opet no funkciorano insijene... Pa da popizdim... Može l' neko da pomogne?
Hvala & poz u napred...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 22 Okt 2006 01:16
|
offline
- snoop
![Female](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
int[] s = { 400, 2, 1, 90, 70 };
int max = s[0];
for (int j = 1; j < s.Length - 1; j++)
{
if (s[j] > max)
max = s[j];
}
// Ovde, promenljiva max ima broj koji je u nizu najveci.
A recima to se moze reci ovako.
Pretpostavis da je prvi clan niza najveci.
u for petlji koja ide od 1 do velicine niza manje 1 pitas da li je trenutni clan niza veci od pretpostavljene vrednosti max i ako jeste, promenljivoj max dodelis tu novu vrednost.
|
|
|
|
Poslao: 22 Okt 2006 02:56
|
offline
- Talični Tom
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Super građanin
- Onsite IT Support Engineer
- Pridružio: 08 Mar 2005
- Poruke: 1148
- Gde živiš: Niš
|
Zadatak koji si nam postavio podsetio me je na ispit iz Informatike i Fortrana. Boze koliko mrzim taj FORTRAN.
|
|
|
|
Poslao: 22 Okt 2006 12:22
|
offline
- Peca
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
prvi zadatak, prvi nacin:
$najveci=0
MRTVA_PETLJA
{
unesi ( $broj ) // unosimo jedan broj
AKO ( $broj = 0 ) ONDA prekini_petlju // izlazimo iz petlje ako ukucamo 0
AKO ( $najveci < $broj ) ONDA $najveci = $broj
}
stampaj ("Najveci broj je: ", $najveci)
Dopuna: 22 Okt 2006 12:22
prvi zadatak, drugo resenje:
$v = 0 // velicina niza
mrtva_petlja
{
unesi ( $broj ) // unesi jedan broj
AKO ( $broj = 0 ) ONDA prekini_petlju // izlazimo iz petlje ako ukucamo 0
$niz[$v] = $broj // upisi broj u niz
$v = $v + 1 // povecavamo velicinu niza za 1
}
$najveci=0
FOR $i = 0 TO $v // vrti petlju, $i ide od 0 do $v (velicina niza)
{
AKO ( $najveci < $niz[$v] ) ONDA $najveci = $niz[$v]
}
stampaj ("Najveci broj je: ", $najveci)
|
|
|
|
|
Poslao: 22 Okt 2006 12:27
|
offline
- BrackoNe
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Elitni građanin
- Pridružio: 25 Jul 2003
- Poruke: 1829
- Gde živiš: Stara Pazova
|
Kada mi je objašnjeno kao što je Peca, mogu sam da napravim, nije problem...
Hvala svima na trudu, stvarno mi je pomoglo!
|
|
|
|
Poslao: 22 Okt 2006 18:48
|
offline
- Peca
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Drugi zadatak:
unesi ( $m )
FOR $i = 2 TO $m // vrti petlju, $i ide od 2 do $m
{
FOR $n = 2 TO $i
{
AKO ( $n = $i ) ONDA stampaj ("Prost broj je", $i) // dosli smo do kraja ugnjezdene petlje
AKO ( $i % $n = 0 ) ONDA prekini_ugnjezdenu_petlju
}
}
sledi objasnjenje...
Dopuna: 22 Okt 2006 18:48
ovde je algoritam malko komplikovaniji.
imas dve petlje.
prva petlja ide da bi proverio sve brojeve od 2 do M koji korisnik unese.
ona druga, ugnjezdena, petlja, proverava da li je dati broj zapravo prost.
evo i kako.
C i C++ imaju operator % koji daje ostatak pri deljenju
ako je ostatak 0, znaci da je broj deljiv sa datim brojem.
taj operator cemo koristiti.
e sad.
da bi proverio da li je neki broj prost, moras da probas da ga podelis sa svim brojevima koji su manji od njega.
i to je ta druga petlja, ugnjezdena.
proba da podeli dati broj sa svim brojevima koji su manji od njega.
ako prilikom deljenja, dobije da je ostatak 0, to znaci da broj nije prost, jer je deljiv.
tu prekida ugnjezdenu petlju, i vraca se u prvu petlju, to jest ispituje sledeci broj.
ako dodjemo do kraja ugnjezdene petlje, to znaci da ni sa jednim brojem nismo uspeli da ga podelimo, i to onda znaci da je to prost broj, i stampamo ga.
|
|
|
|
Poslao: 22 Okt 2006 19:02
|
offline
- Strog
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Stručni saradnik
Web programiranje
- Bojan Kopanja
- Web & Mobile developer @ ZeusSoftware
- Pridružio: 26 Jul 2003
- Poruke: 2597
- Gde živiš: Stara Pazova
|
A zasto taj drugi ne bi isao u samo jednoj petlji?
Nesto ovako
#include <stdio.h>
#include <stdlib.h>
int main()
{
int deljivo_sa = 0, i, m;
scanf("%d", &m);
for(i=2; i<m; i++)
{
if(!(m%i)) deljivo_sa++;
}
if(deljivo_sa) printf("Nije prost!\n\n");
else printf("Prost je!\n\n");
system("PAUSE");
return 0;
}
|
|
|
|
|