Przekazywanie tablicy do funkcji

0

Witam,
Mam pytanie jak przekazać tablice dwuwymiarową dynamiczną do funkcji przez wskaźnik, żeby można było edytować jej zawartość.

0
void foo(jakis_typ **tab, size_t wierszy, size_t kolumn);

zakładając że funkcja nie będzie zmieniać rozmiaru tablicy.

0

Normalnie. Tablice same z siebie są przekazywane przez referencję. Inna sprawa jak ją odbierzesz w funkcji. Możesz jako tablicę albo jako wskaźnik. W takim wypadku chyba będzie lepiej jako wskaźnik:

void func(int * tab);

Teraz tab wskazuje na pierwszy element tablicy. Potem masz już zwykłe przesuwanie wskaźnika. I możesz ją potraktować jako tablicę jednowymiarową, gdzie rozmiar jest równy iloczynowi wielkości obu wymiarów.

0

Mam taką tablice:

  int **tab = new int*[liczba_p];
     for(unsigned int i = 0; i < liczba_p; ++i){
                 tab[i] = new int[2];
     }

i taką funkcji

 void sortuj(int **tab)

no i jak mam jak mam ją wywołać bo jak próbuje to mi błędy wywala

0

https://www.google.nl/search?q=wywo%C5%82ywanie+tablicy+dwuwymiarowej&oq=wywolanie+tablicy+dwu&aqs=chrome.1.69i57j0.6199j0j7&sourceid=chrome&espvd=210&es_sm=93&ie=UTF-8#es_sm=93&q=wywo%C5%82ywanie+tablicy+dwuwymiarowej+c%2B%2B

teraz mnie naszła refleksja (na 500 post). To jest straszne, ze im młodsze pokolenie tym bardziej staje się leniwie i nie próbuje samo nic zrobić tylko "daj", jak chcą mieć wszystko gotowe. Ludzkosc zamiast stawac sie coraz bardziej prodyktywna i tworcza, staje sie coraz bardziej leniwa. Smutne, ze studenci maja pretensje ze byly pytania na pracy magisterskiej... ze wykladowca cos wymaga...

Ten problem jest tak popularny, że pewnie dokładnie z Twoim kodem jest gdzieś to na jakimś forum z takim samym pytaniem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1