[elektro] többdimenziós struktúra c++
flaist
flaist at gmail.com
Wed Jun 5 22:18:51 CEST 2013
Szia!
Csak a komplexitás miatt, meg lehet-e valahogy oldani, hogy az
int arr[5][23];
definiálásba a "MyArray" becsempészni?
Köszi. FI.
-----Original Message-----
From: elektro-bounces at tesla.hu [mailto:elektro-bounces at tesla.hu] On Behalf
Of Lajos Rancz
Sent: Tuesday, June 04, 2013 12:47 PM
To: elektro at tesla.hu
Subject: Re: [elektro] többdimenziós struktúra c++
Hi!
Ha az eredeti cucc C++ akkor a legegyszerűbb:
typedef int MyArray[5][23];
void PrintMyArray(const MyArray &arr)
{
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 23; j++)
{
printf("%d", arr[i][j]);
}
}
}
...
int arr[5][23];
...
PrintMyArray(arr);
Üdv
2013. június 4. 12:32 Balla Zoltán írta, <sdrlab at yandex.ru>:
> Feladó: "Palasik Sandor" <palasik at mail.datanet.hu>
> > Ha kicsit beleásod magad, akkor rájöhetsz, hogy egy több dimenziós
> > tömböt csak több adattal lehet leírni, míg a C minden paraméterhez
> > csak egy
> adatot
> > ad át, konkrétan a tömböknek csak a címét. Nincs olyan varázslás,
> > amivel
> ezt
> > az ellentmondást fel tudod oldani. Olyan sincs, hogy futásidőben
> > árulod
> el,
> > hogy egy több dimenziós struktúrának mik a dimenziói, ezt tudnia
> > kell fordításkor. Fortranban van ilyen, C-ben nincs.
> >
> Az ok, de én tudom is már fordításkor, mik a dimenziói az átadott
> tömbnek, és azt szeretném, ha az ezen a címen található adatokat, én
> C-ben a megfelelő ismert struktúra, ismert dimenziói szerint kezeljem.
> Ennél több adat nem is kell ide, és ez mind rendelkezésre is áll, de
> nem tudom rábírni, hogy abból a címből egy meghatározott dimenziójú,
> struktúrájú tömböt képezzen nekem...
>
> > Ha meg akarsz maradni a X[I][J] jellegű indexelésnél tetszőleges
> > méretű tömbökkel, akkor csinálnod kell egy pointerekből álló tömböt,
> > valahogy
> így:
> >
> > VALAMI XA[10][20];
> > VALAMI *X[10];
> >
> > for (i=0;i<10; i++)
> > X[i] = XA[i];
> >
> > Ezután az X-et átadhatod egy olyan függvénynek, aminek a paramétere
> (VALAMI
> > **z) és tudod indexelni z[i][j] formában.
> >
> Ezen majd még gondolkodom... Feltölteni a címből származtatott
> adatokkal egy előre elkészített tömböt fel tudok, és azt már
> használhatom a kívánt módon, de én pont ezt a fölösleges lépést
> szeretném kihagyni, és azonnal az adatokat elérni, nem közvetett
> módon, előzetes másolással...
>
> Zoli
>
> -----------------------------------------
> elektro[-flame|-etc]
>
-----------------------------------------
elektro[-flame|-etc]
More information about the Elektro
mailing list