用c++编写程序,编写一个3*3矩阵转置的函数,在main()函数中输入数据

如题所述

1、打开vs2015,新建一个Windows Form窗体程序或者控制台都可以。

2、 定义一个名为array1的数组并赋值:double[,] array1 = new double[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };。

3、右键解决方案下的项目名,添加-类,创建一个名为“turnzhi”的类。

4、转置类的代码为:public static double[,] 转置(double[,] A){ int m, n;m = A.GetLength(0);n = A.GetLength(1);double[,] C = new double[n, m];for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){C[j, i] = A[i, j];}} return C;}。

5、在主程序调用转置类,用两个for循坏将转置后的数组(array)输出来;并将结果显示在textbox中。

6、最后运行程序查看我们编写的结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-06
这个很简单了,直接声明一个二维数组,转置时只需将a[i][j]与a[j][i]交换就可以了。本回答被提问者采纳
第2个回答  2008-11-06
void covatrix(int *mtrx,int *mtrx1,int n,int k)//n为原矩阵的列数,k为原矩阵的行数
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<n;j++)
{mtrx1[j*k+i]=mtrx[i*n+j];}

}
第3个回答  2008-11-06
#include <iostream.h>
void main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,b;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
b=a[0][1];
a[0][1]=a[1][0];
a[1][0]=b;
b=a[0][2];
a[0][2]=a[2][0];
a[2][0]=b;
b=a[1][2];
a[1][2]=a[2][1];
a[2][1]=b;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}