cho matrix A(mxn) B(nxq) C =A*B
bạn test thử heheeCode:for(i=0;i<m;i++) { s = 0 ; for(j=0;j<q;j++) for(k=0;k<n;k++) s+=A[i][k]*B[k][i] ; C[i][j] = s ;
Tớ nghĩ hoài mà không ra còn viết thử chương trình thi không chạy. Ai giúp dùm tớ với nha.
thanks nhiều ngen!!
Viết chương trình nhân 2 ma trận thưa và lưu kết quả vào một ma trận thưa khác.
cho matrix A(mxn) B(nxq) C =A*B
bạn test thử heheeCode:for(i=0;i<m;i++) { s = 0 ; for(j=0;j<q;j++) for(k=0;k<n;k++) s+=A[i][k]*B[k][i] ; C[i][j] = s ;
Chời, đây là bài tập hay là thực tế cần làm?
Nếu là bài tập thì đề quá mơ hồ và hơi phức tạp. Ma trận là ma trận, còn khi đã nói đến thưa với dày thì tức là cách thức lưu trữ của nó sẽ có dạng đặc biệt (chứ không phải mảng 2 chiều đơn thuần). Và nếu là đề bài thì riêng việc lưu trữ này phải chỉ rõ yêu cầu lưu thế nào. Chứ thưa mà lưu mảng 2 chiều thì khác gì ma trận bình thường.
Còn nếu là thực tế cần làm thì thư viện đầy rẫy, làm làm chi cho mệt =))
xớn xa xớn xác ko đọc ma trận thưa kaka
thanks bạn nha!
Theo kiến thức tớ bít thì đoạn code trên bạn viết theo mảng 2 chìu cho từng ma trận phải không.
Nhưng do ma trận thưa là 1 ma trận đặc biệt nên có thể ko lưu các phần tử =0 để tiết kiệm bộ nhớ mình đang cố làm thử mà ko được.sơ ry bạn vì không nói rõ yêu cầu bài. Bạn viết giúp tớ nữa ngen!!
Yêu cầu như vầy nè:
Mỗi ma trận thưa được lưu bằng một mảng (N+1) x 3, trong đó N là số phần tử khác 0 trong ma trận thưa. Ba cột 0,1,2 của dòng đầu tiên của mảng lưu tương ứng số dòng, số cột, số phần tử khác 0 của ma trận thưa. Ba cột 0,1,2 của các dòng còn lại của mảng lưu tương ứng chỉ số dòng, chỉ số cột, giá trị của phần tử khác 0 của ma trận thưa.
tớ đag thử dùng biến con trỏ cho ct này.
Các bạn biết giúp tớ với ngen! Cảm ơn trước nha.