Sada je: 18 svi 2024, 00:48.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
int x[] nije dobro jel nema definiranu veličinu polja. Treba ispraviti u
Kod: Označi sve
int x[10]


for (i=1;i<=10;i++); ako ima znak ; na kraju, odvriti će se do kraja bez da izvršava naredbe u bloku
taj bi dio trebao ozgledati ovako
Kod: Označi sve
for (i=1;i<=10;i++)
{
   cout<<unesite brojeve u niz<<endl;
   cin>>x[i];
}


Ostalo sam već komentirala u prijašnjem postu.
Avatar
Site Admin
Postovi: 2074
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Lokacija: Zagreb
Podijelio/la zahvalu: 174 puta
Primio/la zahvalu: 278 puta
Spol: Ž
OS: ubuntu 12.04
nicky je napisao/la:dva mala ispravka u gagijevom rješenju

Traži se niz od manjeg prema većem, pa je if uvjet
Kod: Označi sve
 if ( niz[i] > niz[j])


Vanjska for petlja bi isto trebala ići od i = 0 a ne od i = 1

Varijable deklarirati izvan for petlje (int tmp), jer se u protivnom sa svakim prolaskom inicijalizira varijabla i uništava na kraju petlje (troši vrijeme) umjesto da koristi jednom inicijalizirani podatak i uništi kad više nije potreban.


U ovakvoj postavci petlji treba da bude <, ako ne vjerujes probaj ;)

Razlog zasto vanjska petlja ide od 1(a unutrasnja zavrsava na 8) je da se ne ispituje da li je npr. niz[0] < niz[0], sto nema smisla.

A za tmp si upravu, pametnije je da se izvuce iz petlje :thmb-up

Edit by nicky:
maknula sam one [b] iz mog quotea da bude preglednije
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
nicky je napisao/la:int x[] nije dobro jel nema definiranu veličinu polja. Treba ispraviti u
Kod: Označi sve
int x[10]


for (i=1;i<=10;i++); ako ima znak ; na kraju, odvriti će se do kraja bez da izvršava naredbe u bloku
taj bi dio trebao ozgledati ovako
Kod: Označi sve
for (i=1;i<=10;i++)
{
   cout<<unesite brojeve u niz<<endl;
   cin>>x[i];
}


Ostalo sam već komentirala u prijašnjem postu.

Ako radi na windowsima ne mora veličinu definirati, bude dinamički određena ako napišeš int x[], iz nekog razloga, nisam tražio zašto to na linuxu ne radi.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Postovi: 1975
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Lokacija: wonderland
Podijelio/la zahvalu: 8 puta
Primio/la zahvalu: 38 puta
Spol: M
OS: Debian 7 Wheezy
Varijable unutar petlje su dobra stvar i nije tocno kaj je nicky navela. Varijabla se alocira na stogu samo jednom, jednako ko da je napisana na pocetku funkcije, a vidljivost joj je ogranicena unutar petlje.

Razlika bi bila pri kreiranju objekata, ali nije tema.
stefan je napisao/la:tu mač gemišta

To understand recursion, you must first understand recursion.
Avatar
Postovi: 1536
Postovi: 1536
Pridružen/a: 22 tra 2012, 08:55
Lokacija: ForHill Croatia
Podijelio/la zahvalu: 20 puta
Primio/la zahvalu: 26 puta
Spol: M
OS: eOS Luna
PunkBastard je napisao/la:...
Ako radi na windowsima ne mora veličinu definirati, bude dinamički određena ako napišeš int x[], iz nekog razloga, nisam tražio zašto to na linuxu ne radi.


Takva definicija nije u skladu sa sintaksom C-a. Ne prolazi kompajliranje ni na windowsima. Meni javlja "Size of x is unknown or zerro"

@gagiD taj algoritam čak ni ne sortira niz, npr. 8 2 3 5 1 Po tom algoritmu je rezultat 2 3 1 5 8

Ovo je ispravna verzija bubble sorta:
Kod: Označi sve
for(i = 0;i < 10;i++)
  for(j = i+1;j < 10;j++)
     {
     if(niz[i] > niz[j])
           //zamjeni niz[i] sa niz[j]
    }
Avatar
Site Admin
Postovi: 2074
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Lokacija: Zagreb
Podijelio/la zahvalu: 174 puta
Primio/la zahvalu: 278 puta
Spol: Ž
OS: ubuntu 12.04
nicky je napisao/la:@gagiD taj algoritam čak ni ne sortira niz, npr. 8 2 3 5 1 Po tom algoritmu je rezultat 2 3 1 5 8


Probo i radi :)
slika
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
gagiD je napisao/la:
nicky je napisao/la:@gagiD taj algoritam čak ni ne sortira niz, npr. 8 2 3 5 1 Po tom algoritmu je rezultat 2 3 1 5 8


Probo i radi :)
slika


My bad, radi i tvoj :-D

Medojedni jazavac je napisao/la:Varijable unutar petlje su dobra stvar i nije tocno kaj je nicky navela. Varijabla se alocira na stogu samo jednom, jednako ko da je napisana na pocetku funkcije, a vidljivost joj je ogranicena unutar petlje....


I tu sam pogriješila :-D Danas sam puna pogrešaka
Avatar
Site Admin
Postovi: 2074
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Lokacija: Zagreb
Podijelio/la zahvalu: 174 puta
Primio/la zahvalu: 278 puta
Spol: Ž
OS: ubuntu 12.04
@nicky meni ja dok sam radio na faksu u C++ radilo mi je takvo definiranje arraya (na win), za C ne znam jer nisam nikada probao.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Postovi: 1975
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Lokacija: wonderland
Podijelio/la zahvalu: 8 puta
Primio/la zahvalu: 38 puta
Spol: M
OS: Debian 7 Wheezy

Na mreži
Trenutno korisnika/ca: / i 4 gostiju.