撰寫矩陣轉置函式,手動輸入矩陣的行數和列數,
uj5u.com熱心網友回復:
#include<stdio.h>
#define m 2
#define n 3
int main()
{
int i,j;
int a[m][n],b[n][m];
printf("請輸入陣列資料\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
}
}
for(j=0;j<n;j++)
{
for(i=0;i<m;i++)
{
printf("%d",b[j][i]);
}
printf("\n");
}
return 0;
}
uj5u.com熱心網友回復:
#include "stdafx.h"#include<stdio.h>
#include<iostream>
#include<string
using namespace std;
#define N 100
class RectangleZhuan
{
public:
RectangleZhuan()
{
cout<<"您已經進入矩陣轉換物件,請輸入矩陣的階數,不得超過100:\n";
getNum();
getsRecBass();
}
~RectangleZhuan()
{
cout<<"呼叫解構式,矩陣轉換退出!"<<endl;
}
void getNum()
{
int nw;
cin>>nw;
n=nw;
}
void getsRecBass()
{
cout<<"請為矩陣物件錄入資訊:\n";
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
cout<<"您剛錄入的資訊為:\n";
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if((j+1)%n==0)
cout<<a[i][j]<<'\n'<<'\n';
else
cout<<a[i][j]<<'\t';
}
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
int temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
cout<<"轉置之后的矩陣為:\n";
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if((j+1)%n==0)
cout<<a[i][j]<<'\n'<<'\n';
else
cout<<a[i][j]<<'\t';
}
}
private:
int a[N][N],i,j,n;
};
void main()
{
RectangleZhuan r;
}面向對向的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67667.html
標籤:基礎類
