Skocz do zawartości

Operacje na macierzy w funkcji


Greg0r

Recommended Posts

Cześć,

Mam pewien problem gdyż stworzyłem macierz za pomoą konstrukcji:

double** wyzn;
wyzn=new double*[3];
  for(int i=0;i<3;i++)
    {
    wyzn[i]=new double[3];
    }

przekazuje tą macierz do funkcji:

double wyznacznik(double** tab, int i, int j)

gdzie i-ity wiersz , j-jota kolumna

I teraz w tej funkcji chciałbym się dostać do itego wiersza i jtejkolumny.

Nie było problemu z tablicą jednowymiarową gdyż odwołanie do danej komórki wyglądało tak :

*(tab+i) = 1000;

gdzie i- ita komórka

proszę o pomoc :)

Link do komentarza
Udostępnij na innych stronach

Wcześniej wspomniałem o użyciu zapisu tablicowego w kontekście wskażników, najlepiej pokaże na przykładzie:

double wyznacznik(double** tab, int i, int j)
{
        return tab[i][j] = 1000;
}

Tak jest czytelniej niż tak:

double wyznacznik(double** tab, int i, int j)
{
     return  *(*(tab+i)+j)=1000;
}

Można też pozbyć się całkowicie wskaźników i pracować na samych tablicach. Aby przekazać taka tablicę do funkcji musisz określić wcześniej jej wielkość, przykład:

double usatwTab(double tab[10][10], int i, int j)
{
     return tab[i][j] = 2.5;
}

 

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...