potrebna pomoc oko nizova

potrebna pomoc oko nizova

offline
  • Pridružio: 22 Mar 2008
  • Poruke: 2

Imam problem jer sam slab iz racunara a imam i druge predmete da ucim i nemogu da u knjizi (koja je bas velika i opsirna) da nadjem neke odgovore.Ako mozete da mi pomognete bi bi zahvalan.Treba mi jednostavno 4 nadam se kratka odgovora u vezi nizova u C-u:Kako se unose ili kako se unose sa jedinicom,Kako se sortira,kako se izdaje i kako se sabira.(Valjda trebaju primeri ili teorija).Hvala unapred.Ako je to veliko sto trazim dovoljno mi je pola



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

dzonster ::Kako se unose ili kako se unose sa jedinicom,
Ovo podebljano ne razumem. ako mozes pojasni.
Nisi bas tacno specifikovao pitanje.
Unosenje niza moze na dva manje vise slicna nacina. Ono sto je pitanje moje jeste da li se poznaje velicina niza pre kompiliranja programa.
U C-u kad deklarises niz, deklarises ga:
int niz[DIMENZIJA];
Ovo DIMENZIJA mora biti izracunljiv izraz u fazi prevodjenja programa, ili bar da znas maksimum koliko ce biti clanova.
Ukoliko se ne zna unapred koliko ce biti, onda se koriste funckije malloc, calloc, i realloc. One omogucuju da se u fazi izvrsavanja programa izdvoji potreban memorijski prostor, ili da se na postojeci nadogradi novi itd...
Pretpostavicu da ti je ovo prvo potebno. Znaci da se zna velicina niza u fazi prevodjenja.
Ukoliko treba da uneses 10 clanova niza, koristices petlju i u svakom prolazu ces ucitati po jedan clan, znaci ovkao nesto:
for(i=0,i<10;i++) scanf("%d", &niz[i]);
Obrati paznju ovde, promenljiva i se krece od 0 do 10, ne ukljucujuci deset, sto znaci da ce ti clanovi niza biti niz[0], niz[1].....
Citat:
Kako se sortira,kako se izdaje i kako se sabira.

Za sortiranje postoji vise algoritama, ali u svakom slucaju mozes na sledeci nacin:
-krenes od prvog(nultog) clana niza
-poredis ga sa svakim sledecim, i ukoliko je veci(ili manji, zavisi kako sortiras niz) zamenis im mesta,
-tako uradis i za sledece clanove
Naravno to sve radis u petlji.
Sabiranje:
Uzmes promenljivu recimo int s=0;
i u for petlji dodajes njoj tekuci clan niz[i]...
Valjda ti je sad jasnije.....



offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

@dzonster Mislim da ti je glavno da skontas kako definisati niz, unijeti podatak u njega, pristupiti istom. A ostalo ti je masta.

Za sortiranje mislim da je @N1k0l4 spomenuo booble sort, ali kao sto rekoh sortiranje mozes izvesti na milion drugih nacina, od kojih ovaj sasvim dobro obavlja posao.

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Sto se tice sortiranja, postoji veliki broj algoritama.
Ovaj je nekako najlogicniji, i najpristupacniji pocetnicima.
kod bi bio ovako :
for(i=0; i<n; i++) for(j=i+1; j<n; j++) if(a[i]>a[j]) { pom=a[i]; a[i]=a[j]; a[j]=pom; }

offline
  • Pridružio: 22 Mar 2008
  • Poruke: 2

Hvala na informacijama.Vidim da vam nisam dobro postavio pitanje,ali sam hteo neki obican primer za pocetnike kako je @ N1k0l4 sad napisao.Igor86 slazem se da treba da razumem nizove i da je tesko uciti napamet,pa sam mislio da cu skontati nekako ako mi napisete slican primer poput @N1k0l4 za sortiranje.Pa ako mozete napisite kao i za sabiranje i unosenje.A ako znate dajte mi neki link gde mogu da naucim te osnovne stvari,jer je to u knjizi za programiranje C (Milan Cabarkapa) to opsirno i sa teskim zadacima,cak nam ni profesorka ne predaje iz te knjige a predavanje na njen nacin je lose.Hvala jos jednom na pomoci

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Za unošenje sam ti napisao gore u prvom postu, u onoj for petlji
za sabiranje, deklarišeš neku promenljivu suma, i inicijalizuješ je na 0, (ukoliko je nigde ne inicijalizuješ nećeš moći da sabiraš,tj. da na nju dodaješ neku vrednost)
deo koda bi ti bio ovaj:
for(i=0;i<n;i++)   suma+=niz[i]; // ovo ti je isto sto i suma=suma+niz[i]; valjda to znas

Ko je trenutno na forumu
 

Ukupno su 1119 korisnika na forumu :: 32 registrovanih, 2 sakrivenih i 1085 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: 357magnum, A.R.Chafee.Jr., acatomic, Andrija357, Apok, ArchaBasha, babaroga, Bane san, Battlehammer, darkojbn, doloress, DonRumataEstorski, draganl, Drakce65, Duh sa sekirom, Fabius, Georgius, HrcAk47, ikan, Inner-Cell, kybonacci, Lieutenant, Mihajlo, mikrimaus, misa1xx, Nemanja.M, Panter, radojevic169, RED4G-304, Romibrat, vathra, šumar bk2