Puchacz1 Opublikowano 28 Maja 2011 Zgłoś Opublikowano 28 Maja 2011 Chcę przemnożyć macierz n x n przez wektor (kolumnowy) o rozmiarze n jednak coś mi nie wychodzi float *MacierzWektor(float **Mac, float *X, int n){ for(unsigned short int i=0; i<n; ++i) for(unsigned short int j=0; j<n; ++j) X[i]+=Mac[i][j]*X[j]; return X;}prosiłbym o wskazanie błędu. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Vennor Opublikowano 28 Maja 2011 Zgłoś Opublikowano 28 Maja 2011 (edytowane) Nadpisujesz pola wektora, które po zmianie wciąż używane są w mnożeniu. Stwórz tablicę, w której zapiszesz wynik, przed wywołaniem funkcji, wyzeruj i przekaż referencję lub wskaźnik. Jest więcej możliwości: wśród nich kontenery STL, dynamiczny przydział pamięci i tablice statyczne, ale skoro twoja funkcja zwraca wskaźnik, to przypuszczam, że gdzieś zapisujesz wynik - możesz też przekazać funkcji adres tego elementu. Edytowane 28 Maja 2011 przez Vennor Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...