Chủ đề: Hàm tính tích hai ma trận
-
31-07-2013, 06:36 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Hàm tính tích hai ma trận
Mình viết chương trình tính tích hai ma trận, chạy trên Visual 10 không thấy báo lỗi nhưng chạy thì không tính được, bạn nào biết giúp mình với. Cảm ơn rất nhiều.
Email mình: phuptha@gmail.com
Code mình đây:
Mã:#include<iostream> #include<conio.h> #include<math.h> using namespace std; void input_matrix(int a[][100], int n, int m) { for(int i=0;i<n;i++) for(int j=0;j<m;j++) { cout<<"a["<<i+1<<"]["<<j+1<<"] = "; cin>>a[i+1][j+1]; } } void output_matrix(int a[][100], int n, int m) { cout<<endl; for(int i=0; i<n;i++) { for(int j=0; j<m;j++) cout<<a[i+1][j+1]<<"\t"; cout<<endl<<endl; } } //multiplication void mul_matrix(int a[][100], int b[][100],int t[][100], int n,int m, int p) { for(int i=0;i<n;i++) for(int j=0;j<p;j++) { t[i][j]=0; for (int k=0;i<m;k++) t[i][j]=t[i][j]+a[i][k]*b[k][j]; } } void main() { int a[100][100], b[100][100], t[100][100],n,m,p; //input matrix 1 cout<<"Input matrix 1"<<endl; cout<<"Row = "; cin>>n; cout<<"Column = "; cin>>m; input_matrix(a,n,m); //input matrix 1 cout<<"Input matrix 2"<<endl; cout<<"Defaut row = "<<m<<endl; cout<<"Column (matrix 2) = "; cin>>p; input_matrix(a,m,p); cout<<endl; //output matrix 1 output_matrix(a,n,m); //output matrix 2 output_matrix(a,m,p); cout<<endl<<endl; cout<<"Tich hai ma tran: "<<endl; mul_matrix(a,b,t,n,m,p); output_matrix(t,n,p); getch(); }
View more random threads:
- hoi ve treevew trong c#
- Bài toán về switch !!help...
- Ai hướng dẫn em biết cách phát hiện người dùng double click vào ổ đĩa
- Hỏi về thực thi IComparable
- xin giúp chọn event cho listview
- Học C# có cần học trước C++ và java không?
- lỗi kết nối tới Host hỗ trợ MySql
- cần hỏi 1 số vấn đề asp.net
- Tính tuổi khi lấy ra ngày tháng năm sinh trong girdview
- textbox autocomplete ới webservice
-
03-08-2013, 03:45 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
void input_matrix(int a[][100], int n, int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cout<<"a["<<i+1<<"]["<<j+1<<"] = ";
cin>>a[i+1][j+1];
}
}
Tương tự với hàm output.
Còn về việc VS 2010 chạy ko sai mà ko tính đc là do cú pháp bạn viết đúng, nhưng bạn lại sai thuật toán nên nó ko tính đc.
-
11-08-2013, 10:10 AM #3Banned
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi phamkhoa0101
#include<iostream>
#include<conio.h>
#include<time.h>
#include<math.h>
#include <windows.h>
using namespace std;
void input_matrix(int a[][100], int n, int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cout<<"a("<<i+1<<","<<j+1<<") = ";
cin>>a[i][j];
}
}
void output_matrix(int a[][100], int n, int m)
{
cout<<endl;
for(int i=0; i<n;i++)
{
cout<<"\t";
for(int j=0; j<m;j++)
cout<<a[i][j]<<"\t";
cout<<endl<<endl;
}
}
//multiplication
void mul_matrix(int a[][100], int b[][100],int t[][100], int n,int m, int p)
{
for(int i=0;i<n;i++)
for(int j=0;j<p;j++)
{
t[i][j]=0;
for (int k=0;k<m;k++)
t[i][j]=t[i][j]+a[i][k]*b[k][j];
}
}
void main()
{
int a[100][100], b[100][100], t[100][100],n,m,p;
//input matrix 1
cout<<"Input matrix 1"<<endl;
cout<<"Row = ";
cin>>n;
cout<<"Column = ";
cin>>m;
input_matrix(a,n,m);
//input matrix 1
cout<<"Input matrix 2"<<endl;
cout<<"Defaut row = "<<m<<endl;
Sleep(3000);
cout<<"Column (matrix 2) = ";
cin>>p;
input_matrix(b,m,p);
cout<<endl;
//output matrix 1
cout<<endl<<"Matrix A:"<<endl;
output_matrix(a,n,m);
//output matrix 2
cout<<endl<<"Matrix B:"<<endl;
output_matrix(b,m,p);
cout<<endl<<endl;
cout<<"Tich hai ma tran: "<<endl;
Sleep(3000);
mul_matrix(a,b,t,n,m,p);
output_matrix(t,n,p);
getch();
}
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...