Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Velicina marice int MAT[max_x][max_y] ??

[es] :: C/C++ programiranje :: C/C++ za početnike :: Velicina marice int MAT[max_x][max_y] ??

[ Pregleda: 4085 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lazuz
ucenik

Član broj: 162975
Poruke: 9
212.200.195.*



Profil

icon Velicina marice int MAT[max_x][max_y] ??17.11.2007. u 02:33 - pre 199 meseci
Code:

int MAT[max_x][max_y];


koliko veliki mogu da budu brojevi max_x i max_y?

Kada stavim ovako program zakuca:

Code:

int MAT[1024][1024];


probao sam da vrednosti smanjujem za duplo i proradilo je tek na :

Code:

int MAT[128][128];


koji je maksimum velicine matrice?
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
212.200.234.*

ICQ: 208550327


+14 Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??17.11.2007. u 17:24 - pre 199 meseci
Tu velicinu memorije moras da alociras....

int * MAT = new int[1024*1024]

Pa, preko aritmetike pointera da pristupas elementima...

Mislim da se, promenljiva, kada se definise kao int MAT[1024][1024], stavlja na stek, koji je ogranicen tako da dolazi do prekoracenja te memorije...

Na gornji nacin ces y redu i x koloni pristupati ovako:

Code:

int Vrednost(int x, int y)
{
        return MAT[y*1024 + x];  // ako ti MAT nije globalna promenljiva onda ces je predati funkciji
}






EOF
 
Odgovor na temu

perun_
Nemanja Andjelkovic
Banglades

Član broj: 151779
Poruke: 115
212.62.55.*

Sajt: 127.0.0.1


Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 00:02 - pre 199 meseci
Meni radi sa niz[1024][1024]. Koliko ti, prijatelju, imas RAM-a?

@glorius Ako vec radi sa pokazivacima, onda nekako logicnije da odradi sa
Code:
int** niz

Zar ne? A moze mu pristupati i preko indeksiranja operatorom [], kao i preko dereferenciranja i operatora +...
Ne treba ciljati u metu vec metati u cilj
 
Odgovor na temu

lazuz
ucenik

Član broj: 162975
Poruke: 9
91.150.110.*



Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 13:01 - pre 199 meseci
Hvala momci na odgovorima, pokusacu oba nacina.

p.s. imam 512 MB rama
 
Odgovor na temu

perun_
Nemanja Andjelkovic
Banglades

Član broj: 151779
Poruke: 115
212.62.55.*

Sajt: 127.0.0.1


Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 13:40 - pre 199 meseci
Onda je nemoguce da ne moze. Hajde ostavi kod koji "zapinje". Mogao bi reci i koju gresku ti javlja. Ako nije
Code:
segmentation fault
onda je greska verovatno druge prirode..
Ne treba ciljati u metu vec metati u cilj
 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 14:20 - pre 199 meseci
ne znam mozda liku ne treba pointeri da se sve to radi, mozda moa raditi tako reci preko for petlje,
jer ja imam na faxu programiranje i ljudi jendostavno ne daju da se koristi tako nesto napredno dok se ne dodje do tog gradiva....
cisto informativno za ove hakere koji ubijaju code...
 
Odgovor na temu

lazuz
ucenik

Član broj: 162975
Poruke: 9
77.46.175.*



Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 16:22 - pre 199 meseci
Proradilo je kad sam primenio ono sto je glorius napisao.

Citat:
perun_: Onda je nemoguce da ne moze. Hajde ostavi kod koji "zapinje". Mogao bi reci i koju gresku ti javlja. Ako nije
Code:
segmentation fault
onda je greska verovatno druge prirode..


ne izbacuje linker ili kompajler gresku, vec u toku rada programa - kad dodje do toga da se pozove funkcija u kojoj sam napisao sporni red.

U svakom slucaju problem je resen

Hvala glorius i perun_ na pomoci


p.s. imam jos jedno pitanje, jel treba da obrisem niz iz memorije na kraju te funkcije u kojoj sam koristio ovu promenjivu?

Kako se to radi:

Code:

delete [] MAT;



ili


Code:

delete MAT;


posto i jedno i drugo hoce da kompajlira.
 
Odgovor na temu

perun_
Nemanja Andjelkovic
Banglades

Član broj: 151779
Poruke: 115
212.62.55.*

Sajt: 127.0.0.1


Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 16:49 - pre 199 meseci
Code:

delete [] MAT;


delete MAT bi koristio kada bi pokazivac MAT pokazivao na samo jedan objekat (recimo int). U ovom slucaju ti imas vise (1024) pokazivaca, i svaki od njih pokazuje na niz od 1024 elementa. Ukoliko bi uradio samo delete MAT, iz memorije dealocirao bi samo prvi pokazivac, koji pokazuje na prvih 1024 elementa, odnosno samo prvu vrstu iz tvoje matrice.. Nadam se da sam iole razumljivo ovo objasnio?
P.S. Nema na cemu!
Ne treba ciljati u metu vec metati u cilj
 
Odgovor na temu

lazuz
ucenik

Član broj: 162975
Poruke: 9
77.46.175.*



Profil

icon Re: Velicina marice int MAT[max_x][max_y] ??18.11.2007. u 17:37 - pre 199 meseci
Bio si vrlo jasan. thx
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Velicina marice int MAT[max_x][max_y] ??

[ Pregleda: 4085 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.