Zadatak za najveci, najmanji i srednji broj

2

Zadatak za najveci, najmanji i srednji broj

offline
  • 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.
offline
  • 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 Sad

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.



offline
  • 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];             }     }

offline
  • 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.

offline
  • 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 Smile

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

offline
  • 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.

offline
  • 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

offline
  • 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.

offline
  • 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.

offline
  • 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.

Ko je trenutno na forumu
 

Ukupno su 1024 korisnika na forumu :: 44 registrovanih, 7 sakrivenih i 973 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: airsuba, amaterSRB, Ben Roj, Bobrock1, branko7, brundo65, bufanje, ccoogg123, Chainsaw, dragoljub11987, Excalibur13, JOntra, kikisp, kolle.the.kid, kuntalo, kybonacci, ladro, Lieutenant, mackenzie, mikrimaus, MiroslavD, nebojsag, nemkea71, nenad81, nenooo, nextyamb, Nikolaa11, nikoladim, operniki, pein, Povratak1912, raketaš, sasa87, Sirius, Srle993, su27, Udvar, vathra, Viceroy, virked, W123, Webb, Yellow Pinky, šumar bk2