Witam,
Jak podać dla funkcji przyjmującej tablice int jednowymiarową fragment tablicy dwuwymiarowej.
Wiadomo przecież że tablica dwuwymiarowa składa się z kilku tablic jednowymiarowych.
int foo(int* arr1d);
// ...
int arr2d[10][10];
foo(arr2d[5]);
#define XSize 10
#define YSize 10
int Array[XSize*YSize];
int GetArray2D(int y,int x){
return ( ( XSize * y ) + x ); }
int IncArray2D(int *Ignis, int y, int x) // szte moje szekszi namy !
{
Ignis[GetArray2D(y,x)] += 1;
}
ale ja to pisałęm tak sobie w tym okienku do pisania xD
to dobra metoda :D ogólnie najlepiej używać klasy np.
class Array2D czy coś
struct IntArray2D{
int* Array;
unsigned int Amt;
IntArray2D(int Size){
Array = new int [Size];
Amt = Size;
}
};
i wtedy chyba będziesz mógł przesłać rozmiar tablicy oraz wskaźnik do funkcji :x...
w ogóle czy wysyłanie całej tablicy to dobry pomysł ? :P
przecież ona chyba też zostanie skopiowana cała... a kopiowanie tablicy zmarnuje dużo czasu :x...
więc chyba lepiej operować na oryginalnej i na wskaźniku :x....
Meow...