Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
glenda_north Forumaš(ica)
Pridružen/a: 18. 11. 2003. (21:13:31) Postovi: (2F)16
Lokacija: NORTH
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
Postano: 0:31 pet, 21. 11. 2003 Naslov: Re: matrice |
|
|
Preglednosti radi, spakirat cu kod i code-blok (tko zeli vidjeti kako, neka klikne "Quote" za ovu poruku):
[code:1]for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
printf ("A[%d][%d]=", i, j);
scanf ("%d", &A[i][j]);
}
}[/code:1]
[quote="glenda_north"]Da li se može matrica n*n ovako učitati?
ili mora i ići od 0? :roll: :?:[/quote]
Moze i tako, ali onda se gube nulti redak i stupac. Drugim rijecima, alociras memoriju koja se nikad ne koristi. :?
Dodatno, ako deklariras:
[code:1]int A[10][10];[/code:1]
moci ces ucitati samo matricu 9x9. :(
Preporuca se ipak privikavanje na C-ovski nacin pisanja... :)
Preglednosti radi, spakirat cu kod i code-blok (tko zeli vidjeti kako, neka klikne "Quote" za ovu poruku):
Kod: | for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
printf ("A[%d][%d]=", i, j);
scanf ("%d", &A[i][j]);
}
} |
glenda_north (napisa): | Da li se može matrica n*n ovako učitati?
ili mora i ići od 0? |
Moze i tako, ali onda se gube nulti redak i stupac. Drugim rijecima, alociras memoriju koja se nikad ne koristi.
Dodatno, ako deklariras:
moci ces ucitati samo matricu 9x9.
Preporuca se ipak privikavanje na C-ovski nacin pisanja...
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
Nesi Inventar Foruma (Moderator)
Pridružen/a: 14. 10. 2002. (14:27:35) Postovi: (E68)16
Spol:
Sarma: -
|
Postano: 0:38 pet, 21. 11. 2003 Naslov: Re: matrice |
|
|
[code:1]for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
printf ("A[%d][%d]=", i, j);
scanf ("%d", &A[i][j]);
}
}[/code:1]
[quote="vsego"][quote="glenda_north"]Da li se može matrica n*n ovako učitati?
ili mora i ići od 0? :roll: :?:[/quote]
Moze i tako, ali onda se gube nulti redak i stupac. Drugim rijecima, alociras memoriju koja se nikad ne koristi. :?[/quote]
sorry, al sad ja ne kuzim :?
pa vrti counter od 1 do n, tj prodje kroz n komada
ne vidim KAKO alocira dodatnu memoriju ako ide od 1og do n-tog retka/stupca?
di gubi nulti ako ga nije niti uvela? :?
ono, hocu reci.... zar nije isto brojimo li od 0 do n-1 ili od 1 do n..... ?
ono, mislim da zeli imati matricu oblika
[code:1]
a11 a12... a1n
a21 a22... a2n
...
an1 an2... ann[/code:1]
iskreno, ne vidim u cemu je tu problem?
[quote="vsego"]Dodatno, ako deklariras:
[code:1]int A[10][10];[/code:1]
moci ces ucitati samo matricu 9x9. :([/quote]
zasto?
zar counter u Ceu nejde onako kako mi hocemo, tj. ne postoji neki defaultni? :?
[quote="vsego"]Preporuca se ipak privikavanje na C-ovski nacin pisanja... :)[/quote]
sa ovime se ipak slazem
ono, vrlo cesto se ispostavi da je brojanje od 0-tog do n-1og elementa zgonije
npr, kad treba ispisivati elemente sporedne dijagonale... i za jos ponesto... :mrgreen:
Kod: | for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
printf ("A[%d][%d]=", i, j);
scanf ("%d", &A[i][j]);
}
} |
vsego (napisa): | glenda_north (napisa): | Da li se može matrica n*n ovako učitati?
ili mora i ići od 0? |
Moze i tako, ali onda se gube nulti redak i stupac. Drugim rijecima, alociras memoriju koja se nikad ne koristi. |
sorry, al sad ja ne kuzim
pa vrti counter od 1 do n, tj prodje kroz n komada
ne vidim KAKO alocira dodatnu memoriju ako ide od 1og do n-tog retka/stupca?
di gubi nulti ako ga nije niti uvela?
ono, hocu reci.... zar nije isto brojimo li od 0 do n-1 ili od 1 do n..... ?
ono, mislim da zeli imati matricu oblika
Kod: |
a11 a12... a1n
a21 a22... a2n
...
an1 an2... ann |
iskreno, ne vidim u cemu je tu problem?
vsego (napisa): | Dodatno, ako deklariras:
moci ces ucitati samo matricu 9x9. |
zasto?
zar counter u Ceu nejde onako kako mi hocemo, tj. ne postoji neki defaultni?
vsego (napisa): | Preporuca se ipak privikavanje na C-ovski nacin pisanja... |
sa ovime se ipak slazem
ono, vrlo cesto se ispostavi da je brojanje od 0-tog do n-1og elementa zgonije
npr, kad treba ispisivati elemente sporedne dijagonale... i za jos ponesto...
_________________ It's not who you love. It's how.
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
Postano: 0:52 pet, 21. 11. 2003 Naslov: Re: matrice |
|
|
[quote="Nesi"][quote="vsego"]Moze i tako, ali onda se gube nulti redak i stupac. Drugim rijecima, alociras memoriju koja se nikad ne koristi. :?[/quote]
sorry, al sad ja ne kuzim :?
pa vrti counter od 1 do n, tj prodje kroz n komada
ne vidim KAKO alocira dodatnu memoriju ako ide od 1og do n-tog retka/stupca?
di gubi nulti ako ga nije niti uvela? :?[/quote]
Deklaracija [code:1]int A[10][10];[/code:1] znaci da indexi idu od 0 do 9. Ako ti krenes od 1 i dalje mozes ici samo do 9. Ergo, izgubila si jedan stupac i redak. :)
[quote="Nesi"]ono, hocu reci.... zar nije isto brojimo li od 0 do n-1 ili od 1 do n..... ?[/quote]
Da, isto je kako god [b]mi[/b] brojali, ali C [b]uvijek[/b] broji od 0. 8)
Nesi (napisa): | vsego (napisa): | Moze i tako, ali onda se gube nulti redak i stupac. Drugim rijecima, alociras memoriju koja se nikad ne koristi. |
sorry, al sad ja ne kuzim
pa vrti counter od 1 do n, tj prodje kroz n komada
ne vidim KAKO alocira dodatnu memoriju ako ide od 1og do n-tog retka/stupca?
di gubi nulti ako ga nije niti uvela? |
Deklaracija znaci da indexi idu od 0 do 9. Ako ti krenes od 1 i dalje mozes ici samo do 9. Ergo, izgubila si jedan stupac i redak.
Nesi (napisa): | ono, hocu reci.... zar nije isto brojimo li od 0 do n-1 ili od 1 do n..... ? |
Da, isto je kako god mi brojali, ali C uvijek broji od 0.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
Nesi Inventar Foruma (Moderator)
Pridružen/a: 14. 10. 2002. (14:27:35) Postovi: (E68)16
Spol:
Sarma: -
|
Postano: 14:18 pet, 21. 11. 2003 Naslov: Re: matrice |
|
|
[quote="vsego"]Da, isto je kako god [b]mi[/b] brojali, ali C [b]uvijek[/b] broji od 0. 8)[/quote]
vis, vis... :grebgreb:
ovo bi trebali cesce naglasavati na vjezbama, sto iz Cea, sto iz UURa (obzirom da se radi skoro-C)
tnx :mrgreen:
vsego (napisa): | Da, isto je kako god mi brojali, ali C uvijek broji od 0. |
vis, vis...
ovo bi trebali cesce naglasavati na vjezbama, sto iz Cea, sto iz UURa (obzirom da se radi skoro-C)
tnx
_________________ It's not who you love. It's how.
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 15:56 pet, 21. 11. 2003 Naslov: |
|
|
U biti bih htio ispraviti vsegu da ne dođe do nekih nesuglasica.
Ako deklariramo niz od deset elemenata, tj. a[10] tada će, standardno, C za to odvojit memoriju s adresama drito jednu iza druge u razmacima od po točno jednog int-a/float-a/char-a/whatever-a
Tada ćemo prvom elementu u nizu pristupati s a[0], a zadnjem (desetom) s a[9].
[b]Ali[/b] (ovo je bitno) C će prožvakat i a[10] i na iduće mjesto u "nizu" će staviti taj broj kojeg tamo hoćemo metnut. Tj, stavit će taj el. u mjesto u memoriji, koje nije alocirano za taj el., nego (možda) za nešto drugo, recimo na prvi član nekog drugog niza.
Tu dolazi problem kod ove matrice. Ako se deklarira kao A[n][n], onda će ići
[code:1]00 01 02 03 ... 0n-1
10 11 12 13 ... 1n-1
. . . . .
n-10 n-11 n-12 n-13 ... n-1n-1[/code:1]
No, kako je to u memoriji složeno je pitanje...
Ako je složeno ovako: 0 1 2 3....n-1 0 1 2 3....n-1 i tako n puta, ovim iz prvog posta ćemo malo čudno pristupati toj matrici, tj. ovako:
[code:1]11 12 13 ... 21
...............
...............[/code:1]
tj. umjesto na zadnji element prvog redka, ti ćeš element stavit u prvi stupac drugog retka.(to je naravno samo ako se tako alocira memorija, inače nije)
Nadam se da me itko išta shvatil :)
U biti bih htio ispraviti vsegu da ne dođe do nekih nesuglasica.
Ako deklariramo niz od deset elemenata, tj. a[10] tada će, standardno, C za to odvojit memoriju s adresama drito jednu iza druge u razmacima od po točno jednog int-a/float-a/char-a/whatever-a
Tada ćemo prvom elementu u nizu pristupati s a[0], a zadnjem (desetom) s a[9].
Ali (ovo je bitno) C će prožvakat i a[10] i na iduće mjesto u "nizu" će staviti taj broj kojeg tamo hoćemo metnut. Tj, stavit će taj el. u mjesto u memoriji, koje nije alocirano za taj el., nego (možda) za nešto drugo, recimo na prvi član nekog drugog niza.
Tu dolazi problem kod ove matrice. Ako se deklarira kao A[n][n], onda će ići
Kod: | 00 01 02 03 ... 0n-1
10 11 12 13 ... 1n-1
. . . . .
n-10 n-11 n-12 n-13 ... n-1n-1 |
No, kako je to u memoriji složeno je pitanje...
Ako je složeno ovako: 0 1 2 3....n-1 0 1 2 3....n-1 i tako n puta, ovim iz prvog posta ćemo malo čudno pristupati toj matrici, tj. ovako:
Kod: | 11 12 13 ... 21
...............
............... |
tj. umjesto na zadnji element prvog redka, ti ćeš element stavit u prvi stupac drugog retka.(to je naravno samo ako se tako alocira memorija, inače nije)
Nadam se da me itko išta shvatil
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
glenda_north Forumaš(ica)
Pridružen/a: 18. 11. 2003. (21:13:31) Postovi: (2F)16
Lokacija: NORTH
|
|
[Vrh] |
|
Nesi Inventar Foruma (Moderator)
Pridružen/a: 14. 10. 2002. (14:27:35) Postovi: (E68)16
Spol:
Sarma: -
|
|
[Vrh] |
|
C'Tebo Moderator
Pridružen/a: 03. 11. 2002. (18:40:48) Postovi: (26A)16
Lokacija: Zagreb
|
Postano: 1:06 sub, 22. 11. 2003 Naslov: |
|
|
Kao što nesi reče to je samo stvar estetike, da ti piše
A[1][1]=
a ne
A[0][0]=
ništa bitnoga, može se i bez toga ;)
Kao što nesi reče to je samo stvar estetike, da ti piše
A[1][1]=
a ne
A[0][0]=
ništa bitnoga, može se i bez toga
_________________ Click me !
_______________________
Bad panda!
|
|
[Vrh] |
|
glenda_north Forumaš(ica)
Pridružen/a: 18. 11. 2003. (21:13:31) Postovi: (2F)16
Lokacija: NORTH
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
Postano: 22:09 sub, 22. 11. 2003 Naslov: |
|
|
[quote="glenda_north"]Znači, ako se traži indeks retka u kojem ima, npr. najviše nula, inda bi trebala napisati da se napiše n+1. redak? Btw. THANX na pomoći. :D[/quote]
Zapravo, indexi idu od 0 do n-1, a redni brojevi od 1 do n. :crazyeyes:
Ali, ispisala ti k ili k+1, ne vjerujem da ce ti itko uzeti za zlo (jasno, ako je k ispravno pronadjen). 8)
glenda_north (napisa): | Znači, ako se traži indeks retka u kojem ima, npr. najviše nula, inda bi trebala napisati da se napiše n+1. redak? Btw. THANX na pomoći. |
Zapravo, indexi idu od 0 do n-1, a redni brojevi od 1 do n.
Ali, ispisala ti k ili k+1, ne vjerujem da ce ti itko uzeti za zlo (jasno, ako je k ispravno pronadjen).
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
Psy Forumaš(ica)
Pridružen/a: 26. 11. 2002. (21:34:43) Postovi: (BF)16
Lokacija: Pao s Marsa
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Psy Forumaš(ica)
Pridružen/a: 26. 11. 2002. (21:34:43) Postovi: (BF)16
Lokacija: Pao s Marsa
|
|
[Vrh] |
|
|