Poslao: 06 Okt 2012 15:53
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
NajveciBroj = Niz[0]; Promenljivi NajveciBroj se dodeljuje vrednost promenljive Niz sa nizom znakova duzine 0.
for(Brojac = 0; Brojac < 4; Brojac++){ Dok brojac ne bude dobio vrednost 5, deo uokvirenim {} ce se ponavljati. Kada dobije 5, petlja dobija vrednost NETACNO, i petlja prekida da se ponavlja.
if(NajveciBroj < Niz[i]){ Ako je vrednost promenljive NajveciBroj manja od promenljive Niz sa nizom znakova od 5,
NajveciBroj = Niz[i]; onda ce promenliva NajveciBroj da dobije vrednost promenljive Niz sa nizom znakova od 5.
} Zavrsava se for petlja
} Zavrsava se if naredba
5 sam stavio zato sto treba da ima 4 cifre i nulti znak /0 je 5 niza znakova, zato sam stavio da i bude 5.
EDIT: Moja greska, 5 sam stavio da bude kao cetforocifreni broj, da ima 4 cifre i nulti znak to je 5, zato sam stavio.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 06 Okt 2012 16:08
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Napisano: 06 Okt 2012 16:03
Hmmm... izgleda da ne razumeš baš najbolje ni nizove
Recimo da u Niz imaš brojeve 10, 1000, 25000 i 30000.
Tvoj kod radi ovo:
U NajveciBroj upiše vrednost iz Niz[0], a to je 10.
Uđe u petlju, postavi Brojac na 0.
Proveri da li je NajveciBroj manji od Niz[5] i dobije nedefinisani rezultat jer je maksimalni indeks za Niz 4!
Ako je uslov slučajno ispunjen u NajveciBroj se upiše nedefinisana vrednost (možeš dobiti bilo koji slučajan broj).
Brojac se poveća i petlja se nastavlja dok ne dođe do 4.
Dopuna: 06 Okt 2012 16:08
Još nešto... to što si i postavio da je 5, da imaš mesta za nulti znak, nema nikakvog smisla u tvom kodu. Imalo bi smisla jedino ako bi Niz bio niz karaktera. U slučaju da koristiš niz brojeva, čije dimenzije znaš, ne treba ti nikakav nulti znak ili broj.
|
|
|
|
Poslao: 06 Okt 2012 16:18
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
A sad..
NajveciBroj = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++){
if(NajveciBroj < Niz[1]){
NajveciBroj = Niz[1];
}
}
|
|
|
|
Poslao: 06 Okt 2012 16:31
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
U tom slučaju, kod radi ovo:
Tvoj kod radi ovo:
U NajveciBroj upiše vrednost iz Niz[0], a to je 10.
Uđe u petlju, postavi Brojac na 0.
Proveri da li je NajveciBroj manji od Niz[1] tj od 1000.
Ako je uslov ispunjen u NajveciBroj se upiše 1000.
Brojac se poveća i petlja se nastavlja dok ne dođe do 4.
Na kraju u NajveciBroj dobiješ 1000.
|
|
|
|
Poslao: 06 Okt 2012 16:45
|
offline
- Aleksandr1996
- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
Napisano: 06 Okt 2012 16:34
To I(teba da stoji intBrojac) mi je losa navika iz Pascala pa mi se desi da napisem nehotice ali opet nije da nisi mogao da skapiras odmah
To sto si sad napisao nekapiram ideja je da imas neku promenljivu u indeksu niza i da tu promenljivu (Brojac u ovom slucaju) for petlja povecava kako bi pristupio svakom elementu niza i uporedio ga sa vrednoscu promenljive. Kaoliko vidim ti si ovde stavio samo broj 1 sto je besmisleno.
Dopuna: 06 Okt 2012 16:41
Srednja vrednost u gore tvom kodu je definisana u okviru for petlje sto opet netreba tako nego odmah posle petlje. I sto pises SrednjaVresnot /= 4; kad je to daleko teze razumeti od SrednjaVrednsot = SrednjaVrednost / 4; Kad radis tako nesta nemoj da stavljas de zamrsene precice jer ti netrebaju i samo ti otezavaju i kad deklarises promenljive nije lose stavljati imena tipova na pocetku i to pomaze.
Dopuna: 06 Okt 2012 16:45
Sto stavljas i za svaki indeks niza? To treba da bude promenljiva Brojac zato je i deklarisana i tome sluzi ne zove se za dzabe brojac
|
|
|
|
Poslao: 06 Okt 2012 16:54
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Napisano: 06 Okt 2012 16:51
U redu, ali kako ovo da stavim, ide mi na zivce, neznam kako da to bude dobro ja stavim ovako:
NajmanjiBroj = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++){
if(NajmanjiBroj > Niz[Brojac])
NajmanjiBroj = Niz[Brojac];
else
NajmanjiBroj = NajmanjiBroj;
}
Ovo u naredbi else, NajmanjiBroj = NajmaniBroj, hteo sam da stavim, da ako je NajmanjiBroj np. 10 veci od Niza np. 9 da mu da vrednost 9, ali ako nije da ostane ista(to je to u else, znaci da NajmanjiBroj ostane NajmanjiBroj).
Dopuna: 06 Okt 2012 16:54
Izvini Aleksandar1996, stavio sam ovo, jer nisam video da si ti napisao.
1. Bilo mi je lakse da umesto SrednjaVrednost = SrednjaVrednost / 4 stavim SrednaVrednost /= 4;
Sad sam uakpirao za nizove, tako da sad to razumam kako funkcionisu nizovi.
|
|
|
|
Poslao: 06 Okt 2012 16:57
|
offline
- Aleksandr1996
- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
Ne treba ti else ovde i sto izostavljas {} zagrade sve pisi kako Bog zapoveda kad budes imao dobvljno iskustva ti onda pisi te precice. Ovo ti je nepravilno ovako trazis najveci broj
|
|
|
|
Poslao: 06 Okt 2012 17:05
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Ovo mi je kod za najveci broj:
NajveciBroj = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++){
if(NajveciBroj < Niz[Brojac]){
NajveciBroj = Niz[Brojac];
}
}
Ovo za najmanji:
NajmanjiBroj = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++){
if(NajmanjiBroj > Niz[Brojac]){
NajmanjiBroj = Niz[Brojac];
}
}
Ovo je za srednju vrednost:
SrednjaVrednost = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++){
SrednjaVrednost = SrednjaVrednost + Niz[Brojac];
SrednjaVrednost = SrednjaVrednost / 4;
Najveci broj mi pokazuje dobro, najmanji mi stoji 0, a srednja vrednost lupeta nesto. Ne razumem sta se tu treba doda.
|
|
|
|
Poslao: 06 Okt 2012 17:13
|
offline
- Aleksandr1996
- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
crusher ::Ovo mi je kod za najveci broj:
Ovo je za srednju vrednost:
SrednjaVrednost = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++) { <---------------------To je problem za srednu vrednost
SrednjaVrednost = SrednjaVrednost + Niz[Brojac];
SrednjaVrednost = SrednjaVrednost / 4;
}
[i]SrednjaVrednost = SrednjaVrednost / 4;[/i] <-----------------------Treba ovde da stoji
Najveci broj mi pokazuje dobro, najmanji mi stoji 0, a srednja vrednost lupeta nesto. Ne razumem sta se tu treba doda.
SrednjaVrednost = SrednjaVrednost / 4; To ti je unutar petlje a treba da bude izvan.
Za najmanji broj jesili unosio nulu u niz pa ti je najmanji broj stvarno nula.
|
|
|
|
Poslao: 06 Okt 2012 17:17
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Stavio sam za srednu vrednost kako si rekao i opet ne radi:
SrednjaVrednost = Niz[0];
for(Brojac = 0; Brojac < 4; Brojac++){
SrednjaVrednost = SrednjaVrednost + Niz[Brojac];
}
SrednjaVrednost = SrednjaVrednost / 4;
}
Ukucao sam brojeve 1, 2, 3, 4. I odna akze ovako:
Najveci broj je 4.
Najmanji broj je 0.
Srednja vrednost je 1.00.
Znaci da Najmanji broj i srednja vrednost ne pokazuje dobro. Nesto nije u redu.
|
|
|
|