Kezdőoldal » Számítástechnika » Programozás » ANSI C-ben hogy foglalunk 2...

ANSI C-ben hogy foglalunk 2 dimenziós dinamikus tömböt?

Figyelt kérdés
Elméletben tudom, hogy egy dimenziós dinamikus tömb, aminek minden eleme egy dimenziós dinamikus tömbre mutat (ugye pointerekből áll), csak a megvalósítással vannak gondok... Vizsgára kéne, de nem találok róla anyagot, és gugli sem adott ki olyat, amiből felfoghatnám... Ha tudtok jó oktatóanyagokat, amikben benne van - akár letölthetők, linkeljetek, légyszi!
2010. dec. 14. 20:42
 1/5 anonim ***** válasza:
100%

/* milyen tömböt akarsz te? */


#include <stdio.h>


int **tomb;

int a, b;


void create(int n, int m){

int i, j;

tomb = (int*)malloc(sizeof(int*)*n);

for(i=0;i<n;i++)

tomb[i] = (int)malloc(sizeof(int)*m);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

tomb[i][j] = 0;

a=n;

b=m;

}


void modify(int i, int j, int x){

if(i<a&&i>-1&&j<b&&j>-1)

tomb[i][j] = x;

}


void tombprint(){

int i,j;

for(i=0;i<a;i++){

for(j=0;j<b;j++)

printf("%d ",tomb[i][j]);

printf("\n");

}

}


void tombfree(){

int i;

for(i=0;i<a;i++)

free(tomb[i]);

free(tomb);

}


int main(){

create(2,5);

modify(1,4,7);

tombprint();

tombfree();

return 0;

}

2010. dec. 14. 21:15
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
A foglalás és a feltöltés volt az, ami nem volt tiszta, onnét megvan, hogy utána egyszerű tömbként kezeljük, de ugye addig el is kéne jutni ^^. Köszi a választ, nagyjából felfogtam, zöld kéz ment.
2010. dec. 14. 23:48
 3/5 anonim ***** válasza:
100%
Az első válaszoló azt elírta, hogy csak int*-ra illetve int-re kasztolja a malloc visszatérési értékét, int** és int* kell helyettük, rendre.
2010. dec. 15. 08:22
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Valamint kimaradt az elejéről egy:

#include <stdlib.h>

2010. dec. 15. 10:07
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszi a válaszokat! Szorítsatok, még 1 óra :)
2010. dec. 15. 14:59

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!