Co to właściwie jest?

0

Mam napisać program który mnoży macierze kwadratowe w języku C. Gdy program w składa się z jednej funkcji to wszystko mi działa, lecz mam wykonać mnożenie w oddzielnej funkcji, to też wiem jak zrobić. Problem pojawia się dopiero w momencie gdy mam wykorzystać taką funkcję:

 mnozenie(int (*tab_1)[rozmiar], Ile_wierszy,int (*tab_2)[rozmiar], int (*tab_3)[rozmiar])

Nie bardzo rozumiem zapis:

 int (*tab)[rozmiar]

Poszukałem trochę w sieci i jeśli to dobrze zrozumiałem, to wskaźnik do typu

 int[rozmiar] 

Tylko co mi z tego że mam wskaźnik na tablicę jednowymiarową jeżeli chce mnożyć macierze kwadratowe?
Czy ktoś mógłby mi powiedzieć czy dobrze rozumiem ten kawałek kodu?

0

Ja bym zadał inne pytanie: przez co ty chcesz tę macierz mnożyć, skoro funkcja przyjmuje macierz i jakieś Ile_wierszy, nawet bez podanego typu?

0
IceHeart napisał(a):
 mnozenie(int (*tab_1)[rozmiar], Ile_wierszy,int (*tab_2)[rozmiar], int (*tab_3)[rozmiar])

... czy dobrze rozumiem ten kawałek kodu?
źle rozumiesz.

To jest taki bubel dla początkujących, jeszcze nie umieją nic a już mogą robić np mnożenie macierzy:

const unsigned rozmiar=3;
int A[rozmiar][rozmiar]={{1,2,3},{3,4,5},{5,6,7}};
int B[rozmiar][rozmiar]={{9,8,7},{7,6,5},{5,4,3}};
int C[rozmiar][rozmiar];
mnozenie(C,3,A,B);

To jest skutkiem niepoprawnego ułożenia materiału ćwiczeniowego.

0

Teraz mi program działa... Szkoda tylko że nadal nie rozumiem tej linijki

int(*tab)[rozmiar]
1

To jest wskaźnik na tablicę int o rozmiarze rozmiar

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