Srodne teme
08.03.2002. Matrice
09.06.2002. Matrica
07.01.2003. Mala pomoc oko matrica
12.05.2003. subscript range checking
19.01.2005. 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 programiranje :: Matrica u letu ? ...

[ Pregleda: 1284 | Odgovora: 12 ]

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

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
14.11.2004. u 22:28 

Milos Stojanovic
Belgrade

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

ICQ: 282954730
Sajt: www.sietf.org


Profil

icon Re: Matrica u letu ? ...14.11.2004. u 23:04
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
♪♫♪
14.11.2004. u 23:04 

Rapaic Rajko

Član broj: 4105
Poruke: 361
217.119.242.*



Profil

icon Re: Matrica u letu ? ...15.11.2004. u 08:03
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
15.11.2004. u 08:03 

vladab
Vladimir Bašanović
Beograd

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



Profil

icon Re: Matrica u letu ? ...15.11.2004. u 08:18
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.
Seven deadly sins
Seven ways to win
Seven holy paths to hell
And your trip begins

Seven downward slopes
Seven bloodied hopes
Seven are your burning fires,
Seven your desires...
15.11.2004. u 08:18 

zvrba
The Lord of Chaos

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



Profil

icon Re: Matrica u letu ? ...15.11.2004. u 08:23
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;
15.11.2004. u 08:23 

Milos Stojanovic
Belgrade

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

ICQ: 282954730
Sajt: www.sietf.org


Profil

icon Re: Matrica u letu ? ...15.11.2004. u 13:04
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
♪♫♪
15.11.2004. u 13:04 

Dragi Tata

Član broj: 1958
Poruke: 3880
66.228.70.*

Sajt: www.novetehnologije.com


Profil

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


Ili još bolje uBLAS ili neki stariji rođak.
15.11.2004. u 13:44 

Rapaic Rajko

Član broj: 4105
Poruke: 361
217.119.242.*



Profil

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

Rajko
16.11.2004. u 07:21 

Milos Stojanovic
Belgrade

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

ICQ: 282954730
Sajt: www.sietf.org


Profil

icon Re: Matrica u letu ? ...16.11.2004. u 14:29
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
♪♫♪
16.11.2004. u 14:29 

Riste Pejov
Team Leader/Senior Software Developer @ Ein-Sof ltd S..
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
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.
18.11.2004. u 07:39 

`and

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

Sajt: www.bitbyterz.org


Profil

icon Re: Matrica u letu ? ...19.11.2004. u 16:27
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
19.11.2004. u 16:27 

Marko Stankovic

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

Jabber: urobor@elitesecurity.org
ICQ: 42897384


Profil

icon Re: Matrica u letu ? ...20.11.2004. u 15:58
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.
20.11.2004. u 15:58 

Dragi Tata

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

Sajt: www.novetehnologije.com


Profil

icon Re: Matrica u letu ? ...20.11.2004. u 16:03
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...
20.11.2004. u 16:03 

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

[ Pregleda: 1284 | Odgovora: 12 ]

Postavi temu Odgovori

Srodne teme
08.03.2002. Matrice
09.06.2002. Matrica
07.01.2003. Mala pomoc oko matrica
12.05.2003. subscript range checking
19.01.2005. 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.