30/09/2018, 16:26
Lỗi khi nhân ma trận?
Chương trình nhân 2 ma trận dùng bộ nhớ động nhưng bị lỗi. t sửa mãi mà ko đc. bạn nào giúp vs.
#include <iostream>
using namespace std;
void InputMatrix(int **A,int &r, int &c,char &symbol){
A= new int *[r];
if (A==NULL) cout <<"khong du bo nho de cap phat";
else {
for (int i=0;i<r;i++){
A[i]= new int [c];
if (A[i]==NULL){
cout <<"khong du bo nho"<<endl;
break;
}
else{
for (int j=0;j<c;j++){
cout << symbol<<"["<<i+1<<"]["<<j+1<<"]= ";
cin >> A[i][j];
}
}
}
}
void NhanMatrix(int **A,int **B, int **C,int &r1, int &c1,int &r2,int &c2){
if (c1!=r2) cout << "khong the nhan 2 ma tran"<<endl;
else{
for (int i=0; i<r1;i++){
for (int j=0; j<c2; j++){
C[i][j]=0;
for (int k=0; k<r2;k++){
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
}
void DisplayMatrix(int **A,int &r, int &c){
for (int i=0;i<r; i++){
for (int j=0;j<c;j++){
cout << A[i][j] <<" ";
}
cout <<endl;
}
}
void FreeMatrix(int **A, int &r){
for (int i=0; i<r, i++){
delete [] A[i];
}
delete A;
}
int main (){
int r1,r2,c1,c2;
int **A, **B, **C;
cout << "nhap so hang cua ma tran A: "; cin >>r1;
cout << "nhap so cot cua ma tran A: "; cin >> c1;
cout << "nhap so hang cua ma tran B: "; cin >>r2;
cout << "nhap so cot cua ma tran B: "; cin >>c2;
InputMatrix(A,r1,c1,'A'); // nhap ma tran A
InputMatrix(B,r2,c2,'B'); // nhap ma tran B
cout << "ma tran A la"<<endl;
DisplayMatrix(A,r1,c1);
cout << "ma tran B la"<<endl;
DisplayMatrix(B,r2,c2);
NhanMatrix(A,B,C,r1,c1,r2,c2);
cout<< "tich 2 ma tran la: "<< endl;
DisplayMatrix (C,r1,c2);
FreeMatrix(A,r1);
FreeMatrix(B,r2);
system ("pause");
return 0;
}
Bài liên quan
chương trình nhân 2 ma trận dùng bộ nhớ động nhưng bị lỗi. t sửa mãi mà ko đc. bạn nào giúp vs.
Báo trước với @TranPhuong là mấy câu hỏi dạng này khó có câu trả lời lắm, bởi vì @TranPhuong không đưa ra được cụ thể mình đang làm gì. Chỉ post code suông lên và hỏi khó có câu trả lời.
em chưa post xong mà.
Vậy @TranPhuong dùng thêm tính năng edit post để edit bài viết của mình đi
P/S: Với thông tin như thế này có vẻ hơi ít cho nhiêu đó code
em bị lỗi ở hàm nhân ma trânh mà ko hiểu bị lỗi gì nên ms lên đây hỏi mà.
Ừ anh hiểu, anh chỉ muốn hiểu rõ thêm, như thế nào là bị lỗi. Lỗi compile, hay lỗi lúc chạy?
Code em gửi anh không compile được nữa là
lỗi lúc dịch ý ạ. chả hiểu sao cứ bị lỗi ở hàm NhanMatrix.
Code này em copy ở đâu ra vậy? Có phải là em code không?
Nó còn bị nhiều lỗi hơn là chỉ ở hàm NhanMatrix, và có vẻ như code này không phải do em viết. Tất cả những lối anh nhìn thấy cho tới hiện giờ là lỗi cú pháp. Lỗi cú pháp tức là lỗi cơ bản của việc viết code. Chứ không phải lỗi do logic mà thành.
em tự viết. nhưng ns thật là cái phần con trỏ của con trỏ em chưa hiểu lắm.
Nếu là em tự viết thì anh khuyên em hãy bắt đầu lại với những bài tập đơn giản hơn. Cái em đang tập viết ở đây giống như em đang tập xây một ngôi nhà trong khi em kỹ năng của em chỉ ở mức xây dựng lâu đài cát.
Nếu em cứ học thế này sẽ chán lập trình đấy.
Hic. chắc vậy. tại em học C chứ ko có học C++.
oh. e cảm ơn. :)). thế để e bắt đầu lại vậy.
Anh nói thế không phải vì em dở, mà vì em sai nhiều lỗi cơ bản quá. Để khắc phục nó thì em phải nắm cơ bản đã. Bởi vì anh có sửa hết cả bài cho em thì em cũng không giải quyết được vấn đề cơ bản nhất là hiểu được cách lập trình C++.
vâng. e hiểu mà. cơ mà sao em post nhỏ hơn 20kí tự lại ko đc nhỉ?
Bởi vì diễn đàn mình chú trọng đến thảo luận. Mỗi reply phải truyền đạt một ý nghĩa nào đấy. Nếu đơn giản là đồng ý với comment của anh thì em có thể bấm Like là được rồi
Chúc em học tốt nhé
Topic đã giải quyết được vấn đề của nó, mặc dù không trả lời được câu hỏi của người hỏi. Nhưng đã hướng được một hướng đi mới. Close để tránh loãng mục tiêu của topic.
This topic is now closed. New replies are no longer allowed.