[ piskem @ 25.11.2007. 09:23 ] @
Pozdrav ljudi...
sigurno mozete da mi pomognete...pocetnik sam naravno

vezbam malo na C-u, pa sam hteo da pitam da li ja mogu da formiram matricu na osnovu vec postojuceg niza, tj, zelim nesto ovako...
napravio sam kao "trku na 100" metara...e sad, unosim od 1 do 8 takmicara, tj unosim njihova vremena...dakle float niz.
umem da sortiram taj niz, i da nadjem najbolje, najlosije vreme, ali bih hteo da sad napravim matricu koja ce imati ulogu tabele... da mi u prvoj koloni pise koje je mesto, u drugoj takmicar, a u trecem vreme... ako moze to sa minimalnim znanjem...
[ X Files @ 25.11.2007. 09:36 ] @
Citat:

[...] ali bih hteo da sad napravim matricu koja ce imati ulogu tabele...

Za te stvari se koristi struktura.

Citat:

da mi u prvoj koloni pise koje je mesto, u drugoj takmicar, a u trecem vreme... ako moze to sa minimalnim znanjem...

otprilike ovako:
Code:

// ...
struct takmicari
{
   int mesto;
   char ime[100];
   float vreme;
} takmicar[8];
// ...

Elementima zatim prstupas kao:

// prvi takmicar
takmicar[0].mesto = 1;
strcpy ( takmicar[0].ime, "Marko Markovic" );
takmicar[0].vreme = 8.99;

// poslednji (osmi) takmicar
takmicar[7].mesto = 8;
strcpy ( takmicar[7].ime, "Janko Jankovic" );
takmicar[7].vreme = 10.99;


[Ovu poruku je menjao X Files dana 25.11.2007. u 13:30 GMT+1]
[ piskem @ 25.11.2007. 09:48 ] @
pa da...tako nesto sam i pretpostavio...ali jos nismo dosli do tog nivoa, pa ne mogu to da koristim nazalost... (mislim na testu za koji se spremam)
ali svakako da mogu da usvojim sebe radi...hvala
cu da pokusam
[ X Files @ 25.11.2007. 12:42 ] @
Struktura je zapravo složeni tip podataka koji može više prostih tipova podataka da enkapsulira pod jednim nazivom, a tvoje razmišljanje o matrici je samo znak da si imao viziju da "nešto" tu nedostaje. To što nedostaje je baš struktura.

Teoretski i matrica se može upotrebiti (recimo neka void matrica sa pointerima ka podacima i nanadim kastovanjima), ali to sigurno nije on što se od vas traži u ovoj fazi učenja.

Ako niste radili strukture, ostaje ti da napravis tri razlicita niza:
Code:

int mesto[8];
char ime[8][100];
float vreme[8];

(ime će zapravo biti matrica jer je više karakera već niz sa stanovišta C/C++)
[ Nemanja.Ciric @ 26.11.2007. 23:05 ] @
Možeš da dodaš još jedan niz u koji ćeš da upisuješ redne brojeve odgovarajućih vremena. Dakle ako želiš da ne menjaš originalni niz, napraviš novi koji je kopija originala i sortiraš ga. Onda u dvostrukoj for petlji u svakom prolazu upoređuješ i-ti element originalnog niza sa j-tim elementom sortiranog, i tako dok ne naiđeš na poklapanje. Recimo ako je i=4, kada j dođe do 7, uslov će se ostvariti i na i-to mesto niza sa mestima postaviš j (7).

orig niz:
4 1 3.5 2 1.5 3 2 4

sortirani niz
1 1.5 2 2 3 3.5 4 4

niz sa mestima:
7 1 6 3 2 5 3 7

to bi trebalo da znaš da isporgramiraš sa svojim znanjem, mada mi prethodno rešenje deluje malo "čistije", ali nisam siguran koliko ćeš ga shvatiti. U svakom slučaju svaka čast za inicijativu i samostalno razmišljanje :)