hongromeo
04-10-2010, 11:38 PM
đề bài thế này: Tính tổng đường chéo chính của ma trận và 2 đường chéo chính khác. còn lại các ptử bằng 0; ma trận có dang này:
x x x 0 0
x x x 0 0
0 x x x 0
0 0 x x x
0 0 0 x x
còn đây là code:
#include<iostream.h>
#include<math.h>
int const max=10;
void InputMatrix(int a[][max], int n)
{
cout<<"\nNhap vao cap cua ma tran = ";
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(abs(i-j)<=1){
cout<<"\nNhap phan tu ["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
else a[i][j]=0;
}
}
}
void OutMatrix(int a[][max], int n)
{
for(int i=0;i<=n;i++){
cout<<"\n";
for(int j=0;j<=n;j++){
cout<<a[i][j];
}
}
}
void AddMatrix(int a[][max], int b[][max],int c[][max], int n)
{
for(int i=0;i<=0;i++) {
for(int j=0;j<=0;j++){
c[i][j]=a[i][j]+b[i][j];
}
}
}
int main()
{
int a[max][max],n;
int b[max][max],m;
int c[max][max];
cout<<"\nNhap ma tran a:";
InputMatrix(a,n);
cout<<"\nNhap ma tran b:)";
InputMatrix(b,m);
if(n!=m){
cout<<"2 ma tran khong cong duoc";
}
else
{
AddMatrix(a,b,c,n);
cout<<"Ma tran a:\n";
OutMatrix(a,n);
cout<<"Ma tran b:\n";
OutMatrix(b,n);
cout<<"Xuat ma tran a+b\n";
OutMatrix(c,n);
}
}
Lỗi thì không có, nhưng sao lại khong hiện ra ma trận và còn một số vô lý. nhưng cha biet sua thế nào. Thấy thuật toán cũng đúng mà. Ai pro thi chỉ giáo dùm zới
x x x 0 0
x x x 0 0
0 x x x 0
0 0 x x x
0 0 0 x x
còn đây là code:
#include<iostream.h>
#include<math.h>
int const max=10;
void InputMatrix(int a[][max], int n)
{
cout<<"\nNhap vao cap cua ma tran = ";
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(abs(i-j)<=1){
cout<<"\nNhap phan tu ["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
else a[i][j]=0;
}
}
}
void OutMatrix(int a[][max], int n)
{
for(int i=0;i<=n;i++){
cout<<"\n";
for(int j=0;j<=n;j++){
cout<<a[i][j];
}
}
}
void AddMatrix(int a[][max], int b[][max],int c[][max], int n)
{
for(int i=0;i<=0;i++) {
for(int j=0;j<=0;j++){
c[i][j]=a[i][j]+b[i][j];
}
}
}
int main()
{
int a[max][max],n;
int b[max][max],m;
int c[max][max];
cout<<"\nNhap ma tran a:";
InputMatrix(a,n);
cout<<"\nNhap ma tran b:)";
InputMatrix(b,m);
if(n!=m){
cout<<"2 ma tran khong cong duoc";
}
else
{
AddMatrix(a,b,c,n);
cout<<"Ma tran a:\n";
OutMatrix(a,n);
cout<<"Ma tran b:\n";
OutMatrix(b,n);
cout<<"Xuat ma tran a+b\n";
OutMatrix(c,n);
}
}
Lỗi thì không có, nhưng sao lại khong hiện ra ma trận và còn một số vô lý. nhưng cha biet sua thế nào. Thấy thuật toán cũng đúng mà. Ai pro thi chỉ giáo dùm zới