Srodne teme
08.03.2002. Matrice
09.06.2002. Matrica
29.10.2009. Mala pomoc oko matrica
12.05.2003. subscript range checking
14.09.2012. Mnozenje Matrica
11.09.2003. matrica incidencije
28.05.2004. Kako se mnoze matrice u C-u?
25.06.2004. Inverzna matrica
14.09.2004. Rotacija preko matrica
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Matrica u letu ? ...

[es] :: C/C++ programiranje :: Matrica u letu ? ...

[ Pregleda: 3534 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

`and

Član broj: 32490
Poruke: 776
*.vdial.verat.net.

Sajt: www.bitbyterz.org


Profil

icon Matrica u letu ? ...14.11.2004. u 22:28 - pre 235 meseci
Kako da napravim matricu ( dvodimenzionalnu ) a da joj pre toga nije odredjena velicina, korisnik treba da unese velicinu, a uz to jos i da matrica generise sve kombinacije brojeva ( koliko moze da stane u matricu ) od 0 - 255 ... any idea or help ... tnx
 
Odgovor na temu

Milos Stojanovic
Belgrade

Član broj: 10343
Poruke: 1864
*.nat-pool.bgd.sbb.co.yu.

ICQ: 282954730
Sajt: www.sietf.org


+7 Profil

icon Re: Matrica u letu ? ...14.11.2004. u 23:04 - pre 235 meseci
recimo matricu integera dimenzija n x m praviš dinamički
Code:
int i,j;
int *matrica;
matrica = (int*)malloc(sizeof(int)*n*m);
// a pristupas sa 
matrica[i][j];

A ovaj drugi deo nisam skapirao šta hoćeš?
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
217.119.242.*



+62 Profil

icon Re: Matrica u letu ? ...15.11.2004. u 08:03 - pre 235 meseci
Ovaj, ovo sto ti trazis je malo zesci problem. Alokacija je decja igra, ali pozivanje
Code:

  matrica[i][j];

...pa, heh, aj malo razmislimo; kolika je dimenzija matrice po 'i'...? I gde to pise? Kapiramo ili ne?
Elem, ja sam to svojevremeno radio u Delphi-ju (Pascal), i resenje je da napises klasu koja ti alocira memoriju kad joj das dimenzije. Zatim toj klasi sredis operator [] kako znas i umes, tako da dobijes zeljeni clan; ja sam u Delphi-ju pravio property (jasno, jer property ima getter i setter metode), ali sve ovo sam radio za dvodimenzionalni array. Pravi izazov je uraditi isto za proizvoljan broj dimenzija, i to je ono sto sam napisao u prvoj recenici ovog posta...

Rajko
 
Odgovor na temu

vladab
Vladimir Bašanović
Beograd

Član broj: 9512
Poruke: 498
*.etf.bg.ac.yu.



Profil

icon Re: Matrica u letu ? ...15.11.2004. u 08:18 - pre 235 meseci
Jel koristis C ili C++? Ako koristis C mozes da uradis na nacin na koji ti je rekao trooper, a ako koristis C++, mozes to da uradis pomocu sablona iz STL.
 
Odgovor na temu

zvrba
The Lord of Chaos

Član broj: 31716
Poruke: 105
*.fina.hr.



Profil

icon Re: Matrica u letu ? ...15.11.2004. u 08:23 - pre 235 meseci
Code:

#include <stdlib.h>

int **allocate_array(int m, int n)
{
  int **rows = malloc(m * sizeof(int*)), i;

  for(i = 0; i < n; i++)
    rows[i] = malloc(n * sizeof(int));
  return rows;
}


Dealokaciju napisi sam. Koristis ovako:
Code:

int **x = allocate_array(2, 5);
x[1][3] = 12;
 
Odgovor na temu

Milos Stojanovic
Belgrade

Član broj: 10343
Poruke: 1864
*.nat-pool.bgd.sbb.co.yu.

ICQ: 282954730
Sajt: www.sietf.org


+7 Profil

icon Re: Matrica u letu ? ...15.11.2004. u 13:04 - pre 235 meseci
uhhh, da. U pravu ste. zvrbin način je ispravan. Ne znam šta mi bi.
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
66.228.70.*



+6 Profil

icon Re: Matrica u letu ? ...15.11.2004. u 13:44 - pre 235 meseci
Citat:
vladab: a ako koristis C++, mozes to da uradis pomocu sablona iz STL.


Ili još bolje uBLAS ili neki stariji rođak.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
217.119.242.*



+62 Profil

icon Re: Matrica u letu ? ...16.11.2004. u 07:21 - pre 235 meseci
E da, zaboravio sam na **; tako da matrica ispada prava decja igra; sorry na digresiji.

Rajko
 
Odgovor na temu

Milos Stojanovic
Belgrade

Član broj: 10343
Poruke: 1864
*.nat-pool.bgd.sbb.co.yu.

ICQ: 282954730
Sajt: www.sietf.org


+7 Profil

icon Re: Matrica u letu ? ...16.11.2004. u 14:29 - pre 235 meseci
Mada ako ne treba striktno matrica, možeš da koristiš niz i da uskladiš indexe, uštedećeš malo memorije i ubrzati(opet malo) vreme pristupa.
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
217.16.77.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: Matrica u letu ? ...18.11.2004. u 07:39 - pre 235 meseci
Ma i trooper-ov primer valja, ali sa malim promenama
Code:

int *matrica;
matrica = (int*)malloc(sizeof(int)*num_rows*num_cols);
// a pristupas sa
for(int i=0;i<num_rows;i++)
    for(int j=0;j<num_cols;j++) 
              cout<<"clan iz reda:"<<i<<" i kolone:"<<j<< " je :"<<matrica[i*n+j];

Posto u principu dvodimenzionalni matrix je num_rows puta duzine jednodimenzionalnog jednog.

Ako imamo matrix sa 3reda i 2 kolone onda to u memoriji izgleda 6 uzastopnih sizeof(whatever) polja:
Code:


matrica [1   2   3   4   5   6] 
         |   |   |   |   |   | 
        0,1 0,2  |   |   |   |
                1,1 1,2  |   |
                        2,1 2,2

People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

`and

Član broj: 32490
Poruke: 776
*.verat.net.

Sajt: www.bitbyterz.org


Profil

icon Re: Matrica u letu ? ...19.11.2004. u 16:27 - pre 235 meseci
Evo prvi deo sam resio :


Code:

#include <stdlib.h>
#include <iostream.h>


int main()

{

int num_rows,num_cols;
int *matrica;
int n =0;

cin >> num_rows;
cin >> num_cols;

matrica = (int*)malloc(sizeof(int)*num_rows*num_cols);

for(int i=0;i < num_rows; i++)
    for(int j=0;j < num_cols; j++)
    {
    cin >> matrica[i*n+j];
    n++;
    }

int nn=0;

for(int ii=0;ii < num_rows; ii++)
     for(int jj=0;jj < num_cols; jj++)
     
     {     
     cout << "clan iz reda:" << ii << " i kolone:" << jj << " je :"<< matrica[ii*nn+jj];
     nn++;
     }

return 0;

}


tnx
 
Odgovor na temu

Marko Stankovic

Član broj: 11
Poruke: 306
*.rvkds.net.



Profil

icon Re: Matrica u letu ? ...20.11.2004. u 15:58 - pre 235 meseci
Jeste da zadatak radi i pomocu nacina koji si napisao, ali bar po meni taj nacin nije dovoljno elegantan. Koristeci nacin koji je zvrba naveo matrici se pristupa normalno sa matrica[x][y] sto je lepse i za oko i za tumacenje. U C-u su dozvoljene svakakve perverzije recimo umesto niz[x] mozemo da pisemo i x[niz] ali opet to ne radimo zato sto nije prakticno. Tako da 'and moja preporuka ti je da lepo stvoris dinamicku matricu kao u zvrbinom primeru. Mada koliko primecujem ti pises u C++ a koristis funkcije iz C-a za alociranje memorije, naravno one rade bez problema, ali u C++ postoji operator za alociranje memorije new i operator za oslobadjanje delete pa je preporucljivo da koristis njih za ovaj posao.
I drink to make other people interesting.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.bos.east.verizon.net.



+6 Profil

icon Re: Matrica u letu ? ...20.11.2004. u 16:03 - pre 235 meseci
Kao što smo već pomenuli, u C++u postoji toliko gotovih biblioteka sa odličnim implementacijama matrice, da meni ne bi palo napamet da pišem novu iz početka. No, svako ima pravo da radi šta hoće...
 
Odgovor na temu

[es] :: C/C++ programiranje :: Matrica u letu ? ...

[ Pregleda: 3534 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
08.03.2002. Matrice
09.06.2002. Matrica
29.10.2009. Mala pomoc oko matrica
12.05.2003. subscript range checking
14.09.2012. Mnozenje Matrica
11.09.2003. matrica incidencije
28.05.2004. Kako se mnoze matrice u C-u?
25.06.2004. Inverzna matrica
14.09.2004. Rotacija preko matrica
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.