Witam serdecznie. Mam kilka pytań odnośnie tablic dynamicznych dwuwymiarowych. Pierwsze z nich: jak wyłuskiwać wartość tablicy przez wskaźnik? Pan na lekcji wskazywał ten, poniższy sposób. Pojawia się jednak dziwny błąd z przydzielaniem adresu - dziwne tym bardziej, że wszystko wydaje się być dobrze.
Druga rzecz: Czy poniższy sposób uzyskiwania wartości dla tablic dwuwymiarowych poprzez wskaźnik jest jedynym, czy można wykorzystywać tradycyjny, dajmy na to tab[w][k]? (o ile się nie mylę, można jedynie dla tablic dynamicznych jednowymiarowych, ponieważ dwuwymiarowe są tworzone tylko w poniższy sposób - prosiłbym o weryfikację tych słów).
Ostatnia sprawa: jak zwalniać pamięć tablicy dwuwymiarowej? Utworzyłem poniższą funkcję deleted, ta jednak nie działa.
Bardzo prosiłbym o jak najszybszą pomoc. Serdecznie pozdrawiam :).
#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;
void wyswietlTablice (int w, int k, double** tab)
{
for (int i=0; i<w; i++)
{
for (int j=0; j<k; j++)
{
cout << (*(*(tab+i)+j)) << '\t';
}
cout << endl;
}
}
void generujTablice (int w, int k, double** tab)
{
for (int i=0; i<w; i++)
{
for (int j=0; j<k; j++)
{
(*(*(tab+i)+j)) = rand()%50;
}
}
}
void deleted (int w, double** tab)
{
for (int i=0; i<w; w++)
{
delete[] tab[i];
}
}
int main ()
{
srand (time(NULL));
double* *tab1 = new double *[2];
generujTablice(2,3,tab1);
wyswietlTablice(2,3,tab1);
//deleted (2,tab);
system ("pause");
return 0;
}