Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 09.03.07 Prihlásený: 28.07.09 Príspevky: 39 Témy: 7 | 7 Bydlisko: Trnava |
zdravim
chem zo suboru nacitat premenne x a y a podla nich deklarovat pole o velkosti x krat y
viem vsak spravit len taketo nieco:
int (*pole)[5] = new int[x][5];
to mi spravi pole o rozmeroch x krat 5, ale ja chcem, aby aj ta hodnota "5" bola variabilna, teda odpredu neviem, aky rozmer bude mat, ak tam dam premennu, vyhlasi chybu, ze tam nemoze byt premenna..
dakujem za odpoved
|
|
Registrovaný: 09.03.07 Prihlásený: 28.07.09 Príspevky: 39 Témy: 7 | 7 Bydlisko: Trnava |
mam to
Kód: int **pole; pole = new int*[x];
for (int i = 0; i < x; i++) pole[i] = new int[y];
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Nazyva sa to dynamicke pole. Da sa ti spravit napr. aj takto
Kód: int **pole; /*pointer na pointer na int */
int x=10; int y=5;
pole=(int **)malloc(x*sizeof(int)); /* alokuje sa x riadkov pola */
for (int i=0; i<x; i++) /* pre kazdy riadok sa alokuje y stlpcov */ (*(pole+i))=(int *)malloc(y*sizeof(int));
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 02.11.07 Prihlásený: 18.03.15 Príspevky: 470 Témy: 22 | 22 Bydlisko: Zilinska Un... |
malloc by som moc nepouzival, je to zastarale
_________________ Notebook: HP EliteBook 8740w
You can see my work in my www |
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Zastarale? Moze byt, ale co teda nie je zastarale? Ako by si inak vytvoril dynamicke pole?
//respektive, ako inak by si alokoval dynamicku pamat?
//a inak, teraz ma napadlo, dalo by sa to riesit aj asi takymto usekom kodu
Kód: int i; scanf("%d", &i); int pole[i];
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 28.08.08 Prihlásený: 02.10.08 Príspevky: 3 Témy: 0 | 0 Bydlisko: Bratislava |
neutronmind píše: Zastarale? Moze byt, ale co teda nie je zastarale? Ako by si inak vytvoril dynamicke pole? //respektive, ako inak by si alokoval dynamicku pamat? //a inak, teraz ma napadlo, dalo by sa to riesit aj asi takymto usekom kodu Kód: int i; scanf("%d", &i); int pole[i];
Takto by si to definovat nemohl schvalne si to zkus. Malloc stale pouzivam a to treba na to abych alokoval zarovnanou pamet align_malloc(). Operator new stejne jen rozezna typ urci velkos a zavola malloc
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
No skusil som to a normalne to ide, samozrejme sa to tyka len tohto konkretneho zadania. Pole mozes deklarovat kdekolvek vo funkcii.
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 28.08.08 Prihlásený: 02.10.08 Príspevky: 3 Témy: 0 | 0 Bydlisko: Bratislava |
neutronmind : nevim co pozuivas za prekladac ale Visual Studio 2008 to nevezme s tim ze ocekava konastantu pri statickem tvoreni pole. Pole muzes deklorovat kdekoli ve funkci ale ne promennou ve statickem deklaraci. Teda slo by to ale muselo by byt pred int const a definovane jiz pri vytvoreni.
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Nj, asi to bude rozdielnostou kompilatorov, ja mam Dev-C++, v ktorom sa to da...
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 02.11.07 Prihlásený: 18.03.15 Príspevky: 470 Témy: 22 | 22 Bydlisko: Zilinska Un... |
neutronmind píše: Nj, asi to bude rozdielnostou kompilatorov, ja mam Dev-C++, v ktorom sa to da...
inak som si vsimol ze strasne vela ludi, kt. sa snazia progamovat si tu mylia C prikazy z C++ prikazmy. napr. scanf("%d", &i); a malloc() su C prikazy a cin >> i; a new int su C++ prikazy, aj ked C su v C++ kniznicach, nepouzivat ich, takysto typ char pole[50]; je C a v C++ je typ string . aj ked sa charu nevyhneme, ale da sa lahko string zmenit na char cez funkciu.
Niekto napise pomoc s C++ iny mu tam hodi C program, to je lool.
_________________ Notebook: HP EliteBook 8740w
You can see my work in my www |
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
No prave som si cital o standarde ANSI C99. Podla neho sa da pole deklarovat nekonstantnym vyrazom, teda int pole[i]; je spravne... Aj ked vacsina novych veci z C99 sa mi vidi dost zbytocna(napr. tie rozne modifikatory). Proste da sa zaobist aj bez nich...
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 4 | 546 | 02.05.2017 20:47 BX | | v Assembler, C, C++, Pascal, Java | 9 | 1489 | 10.07.2011 12:47 v.tkac | | v PHP, ASP | 7 | 485 | 03.12.2009 10:23 nico | | v Novinky | 18 | 874 | 03.12.2007 16:01 ferkooo | | v Ovládače | 0 | 3501 | 17.04.2009 13:20 VeGaNKo | | v JavaScript, VBScript, Ajax | 1 | 704 | 15.10.2009 11:39 Ďuri | | v Assembler, C, C++, Pascal, Java | 8 | 509 | 10.01.2010 20:18 johny3212 | | v Assembler, C, C++, Pascal, Java | 2 | 482 | 08.11.2012 19:01 faraon | | v HTML, XHTML, XML, CSS | 2 | 574 | 16.10.2009 22:40 dessert | | v PHP, ASP | 3 | 481 | 01.07.2009 17:05 stenley | | v PHP, ASP | 4 | 482 | 13.10.2007 23:13 stenley | | v PHP, ASP | 15 | 940 | 02.09.2008 10:15 toma-mato | | v JavaScript, VBScript, Ajax | 9 | 537 | 26.02.2010 15:46 Ďuri | | v Assembler, C, C++, Pascal, Java | 2 | 399 | 18.10.2012 1:51 Gregi555 | | v HTML, XHTML, XML, CSS | 1 | 409 | 20.04.2009 15:47 emer | | v PHP, ASP | 2 | 408 | 20.06.2010 15:14 Ďuri |
|