编写一个3*3矩阵转置的函数 要求用到动态内存分配 用c++

如题所述

第1个回答  2012-05-21
#include<iostream>
using namespace std;
void reset(int**p)
{
int i,j,temp;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{temp=*(*(p+i)+j);
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=temp;}
}
main()
{
int**p=new int*[3];
int i,j;
cout<<"input a array:"<<endl;
for(i=0;i<3;i++)
{
p[i]=new int[3];
for(j=0;j<3;j++)
cin>>*(*(p+i)+j);
}

reset(p);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<*(*(p+i)+j)<<' ';
cout<<endl;
}
return 0;
}
第2个回答  2012-05-30
这个函数挺不错的,int**p=new int*[3];用到动内存态分配,p是指向整个数组的指针,p[i]是行指针

编写一个3*3矩阵转置的函数 要求用到动态内存分配 用c++
这个函数挺不错的,int**p=new int*[3];用到动内存态分配,p是指向整个数组的指针,p[i]是行指针

C++题目: 写一个函数将一个3*3的整型矩阵转置。
1、首先在编辑器中准备好一个空白的c语言文件,引入C语言标准库,在main函数中定义一个3x3阶矩阵以及循环体中要用的变量i和j,以及一个用来交换数据的临时变量tmp,然后下一步就可以开始编写处理转置的部分了:2、二维数组需要用两层循环输出,而算法是将一个3x3阶矩阵转置时,只需将主对角线右上方的...

用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、转置类...

c语言:写一个函数,将输入的3*3的整形矩阵进行转置 用函数
int main(){ void move(int *s);int a[3][3];int i=0;int *p=&a[0][0];printf("请输入一个3*3的数组:\\n");for(i=0;i<3;i++){ scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);} move(p);printf("转置后的结果:\\n");for(i=0;i<3;i++){ printf("%d...

编写一个3*3矩阵转置的函数,在main()函数中输入数据
用指针或是直接交换.下面是指针的写法:#include<iostream>using namespace std; void fun(int *p){ int i,j,k;for(i=0;i<3;i++){ for(j=i;j<3;j++) { k=*(p+3*i+j); *(p+3*i+j)=*(p+3*j+i); *(p+3*j+i)=k; }}}int main(){ int i,j,*p2; int a[3][3]={{1...

怎样编写一个矩阵转置的函数,矩阵的行、列数在程序中由用户输入!!【紧 ...
Geomaticsyr 采纳率:49% 擅长: C\/C++ 办公软件 数学 物理学 数据库DB 为您推荐: c语言矩阵转置函数 整形矩阵转置 矩阵转置什么意思 swap函数 编写一个3×3矩阵转置 c语言矩阵转置是什么 矩阵的转置怎么求 伴随矩阵 c语言做3*3转置矩阵 矩阵转置的性质 ...

用C++编写一个矩阵转置的函数,矩阵的行数和列数在程序中由用户输入...
int main(){ int iRow, iCol;int **pOrignal = NULL, **pTran = NULL;int i, j;cout<<"请输入矩阵的行、列数(用空格隔开): ";cin>>iRow>>iCol;cout<<endl;\/\/ 分配内存空间 pOrignal = new int*[iRow];for (i=0; i<iRow; i++){ pOrignal[i] = new int[iCol];memset(p...

C++通过动态内存分配来来生成一个动态的二维数组,要求行列相乘为偶数...
*q;srand((unsigned)time(NULL));m=rand()%10+1;while(m*(n=rand()%10+1)&1);\/\/保证m*n是偶数q=(int *)malloc(sizeof(int)*m*n);if(q==NULL || (p=(int **)malloc(sizeof(int *)*m))==NULL){printf("Application memory failure...\\n");return 0;}for(i=0;...

使用C++编程,希望编写函数实现3*3矩阵第一行和第三行交换。
这个很简单了,直接声明一个二维数组,转置时只需将a[i][j]与a[j][i]交换就可以了。

c++三元组的存储及转置
void PrintInit(); \/\/ 矩阵的输入初始化 void AddElement(int m,int n, int nVal); \/\/ 增加非零元素 };\/\/ 矩阵乘法函数(*new)记得释放内存。SparMatrix* MatrixMulti(SparMatrix* pM1,SparMatrix* pM2);void main(){ SparMatrix matrix1;cout << "The 1st matrix:" << endl;matrix...

相似回答
大家正在搜