[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
deklarovanie dvojrozmerneho pola s operatorom new

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


Offline

Užívateľ
Užívateľ
deklarovanie dvojrozmerneho pola s operatorom new

Registrovaný: 09.03.07
Prihlásený: 28.07.09
Príspevky: 39
Témy: 7 | 7
Bydlisko: Trnava
Napísal autor témyOffline : 01.09.2008 14:27 | deklarovanie dvojrozmerneho pola s operatorom new

mam to :)

Kód:
int **pole;
pole = new int*[x];

for (int i = 0; i < x; i++)
   pole[i] = new int[y];


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

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…
Offline

Užívateľ
Užívateľ
deklarovanie dvojrozmerneho pola s operatorom new

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
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

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…
Offline

Užívateľ
Užívateľ
deklarovanie dvojrozmerneho pola s operatorom new

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 ;)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

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…
Offline

Užívateľ
Užívateľ
deklarovanie dvojrozmerneho pola s operatorom new

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.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

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…
Offline

Užívateľ
Užívateľ
deklarovanie dvojrozmerneho pola s operatorom new

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
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

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... :roll:


_________________
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…
 [ Príspevkov: 11 ] 


deklarovanie dvojrozmerneho pola s operatorom new



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

c dynamická alokácia dvojrozmerného poľa

v Assembler, C, C++, Pascal, Java

4

513

02.05.2017 20:47

BX

V tomto fóre nie sú ďalšie neprečítané témy.

funkcia pre vypis dvojrozmerneho pola v C

v Assembler, C, C++, Pascal, Java

9

1446

10.07.2011 12:47

v.tkac

V tomto fóre nie sú ďalšie neprečítané témy.

problem s porovnavacim operatorom

v PHP, ASP

7

460

03.12.2009 10:23

nico

V tomto fóre nie sú ďalšie neprečítané témy.

Google plánuje byť mobilným operátorom

v Novinky

18

829

03.12.2007 16:01

ferkooo

V tomto fóre nie sú ďalšie neprečítané témy.

[new] nVidia drivers for notebooks Vista/XP [new]

v Ovládače

0

3456

17.04.2009 13:20

VeGaNKo

V tomto fóre nie sú ďalšie neprečítané témy.

dlžka pola

v HTML, XHTML, XML, CSS

2

542

16.10.2009 22:40

dessert

V tomto fóre nie sú ďalšie neprečítané témy.

INDEX POLA

v JavaScript, VBScript, Ajax

1

661

15.10.2009 11:39

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

uvolnenie pola

v Assembler, C, C++, Pascal, Java

8

478

10.01.2010 20:18

johny3212

V tomto fóre nie sú ďalšie neprečítané témy.

vrátenie pola

v Assembler, C, C++, Pascal, Java

2

446

08.11.2012 19:01

faraon

V tomto fóre nie sú ďalšie neprečítané témy.

zmena klucov pola

v PHP, ASP

7

560

08.05.2009 15:28

Roko

V tomto fóre nie sú ďalšie neprečítané témy.

vkladanie do pola

v PHP, ASP

2

379

17.01.2009 15:29

zaciatocnik

V tomto fóre nie sú ďalšie neprečítané témy.

Doplňovanie input poľa

v JavaScript, VBScript, Ajax

2

568

28.08.2008 13:54

tatysp

V tomto fóre nie sú ďalšie neprečítané témy.

C naplnenie pola

v Assembler, C, C++, Pascal, Java

3

852

11.12.2011 15:34

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Počítanie záznamov poľa

v Delphi, Visual Basic

10

1093

22.12.2007 21:34

martin90

V tomto fóre nie sú ďalšie neprečítané témy.

Identifikácia prvku poľa

v PHP, ASP

4

567

12.03.2009 22:49

cube2

V tomto fóre nie sú ďalšie neprečítané témy.

Upravenie vypisu pola ..

v PHP, ASP

3

449

01.07.2009 17:05

stenley



© 2005 - 2024 PCforum, edited by JanoF