Stranica: 3/3.
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 14:50
Postao/la nicky
int x[] nije dobro jel nema definiranu veličinu polja. Treba ispraviti u
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.
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 15:11
Postao/la gagiD
nicky je napisao/la:dva mala ispravka u gagijevom rješenju
Traži se niz od manjeg prema većem, pa je if uvjet
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
Edit by nicky:
maknula sam one iz mog quotea da bude preglednije
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 15:13
Postao/la PunkBastard
nicky je napisao/la:int x[] nije dobro jel nema definiranu veličinu polja. Treba ispraviti u
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.
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 15:45
Postao/la Medojedni jazavac
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.
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 15:49
Postao/la nicky
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]
}
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 15:59
Postao/la gagiD
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

Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 16:10
Postao/la nicky
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

My bad, radi i tvoj
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

Danas sam puna pogrešaka
Re: C++pomoc oko zadatka
Postano: 04 lip 2014, 17:49
Postao/la PunkBastard
@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.