przekazanie tablicy dynamicznej do funkcji

Odpowiedz Nowy wątek
2015-02-14 20:23
0

Mam taki oto problem:

mam sobie tablicę dynamiczną dwuwymiarową. Chce ją przekazać do funkcji i chce, żeby ta funkcja zwiększyła mi wartości w tej tablicy np x3 i żeby zmiany były widoczne w pierwotnej tablicy. Możecie podpowiedzieć jak to zrobić. Mam sobie taką funkcję:

void increaseTab1(int *tab[], int w, int k)
{
    for (int i = 0; i < w; ++i)
    {
        for (int j = 0; j < k; ++j)
        {
            cout << (tab[i][j]) * 3 << " ";
        }cout << endl;
    }
}

jednakże ta funkcja nie zamienia "oryginalnych" wartości w tablicy w main.

w main tablice są stworzone w ten sposób:

int wiersze;
    int kolumny;
    cerr << "Podaj licbe wierszy" << endl;
    cin >> wiersze;

    cerr << "Podaj liczbe kolumn" << endl;
    cin >> kolumny;
    int **A = new int*[wiersze];
    int **B = new int*[wiersze];
    int **C = new int*[wiersze];
....

jak mam przekazać tablicę dynamiczną do funkcji, żeby wartości w oryginalnej tablicy podanej z palca w main uległy zminie po wywołaniu funkcji?


Apple MacBook Pro 13" i5 1,4Ghz/16/512
edytowany 1x, ostatnio: Berike, 2015-02-14 20:23

Pozostało 580 znaków

2015-02-14 21:31
0

nie dziwię się, że nie działało skoro to w cout mnożyłem wartość. Poprawna funkcja wygląda tak:

 void increaseTab1(int *tab[], int w, int k)
{
    for (int i = 0; i < w; ++i)
    {
        for (int j = 0; j < k; ++j)
        {
            tab[i][j] = tab[i][j] * 3;
        }cout << endl;
    }
}

Apple MacBook Pro 13" i5 1,4Ghz/16/512

Pozostało 580 znaków

2015-02-14 21:32
0

http://stackoverflow.com/ques[...]/passing-2d-array-to-function

tutaj masz wszystkie opcje

Pozostało 580 znaków

2015-02-14 21:58
1

Uniwersalne: http://ideone.com/dP3T9c

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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