矩阵转置输出问题?

haizi_24 2009-04-14 10:54:40
用C++实现,只用一个二维数组,和调用同一个函数,实现输出原矩阵(不仅仅是方阵)及其转置矩阵?
...全文
212 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
haizi_24 2009-04-15
  • 打赏
  • 举报
回复
谢谢,你的程序很简洁,也能实现实现输出原矩阵及其转置矩阵。还想请教,能否用二维数组存储此矩阵,并通过二个函数(分别是输出函数和转置函数),先调用输出函数输出此矩阵,在调用转置函数实现矩阵转置,再调用一次输出函数实现输出转置矩阵。
zhyinty 2009-04-14
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

void InverseMatrix(int* pMatrix, int line, int row)
{
for (int i=0; i<line; i++)
{
for (int j=0; j<row; j++)
{
printf("%d ", *(pMatrix + i * row + j));
}
printf("\n");
}
printf("\n");
for (int j=0; j<row; j++)
{
for (int i=0; i<line; i++)
{
printf("%d ", *(pMatrix + i * row + j));
}
printf("\n");
}
printf("\n");
}
int main()
{
int matrix[12] = {1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12};
InverseMatrix(matrix, 3, 4);
}

haizi_24 2009-04-14
  • 打赏
  • 举报
回复
#include<iostream>
#include<iomanip>
using namespace std;

const int row = 2,col = 3;
int r,c;
void ShowArray2(int A[row][col],int,int);
void ChangeArray2(int A[row][col],int,int);


int main()
{

r = row;
c = col;
int B[row][col] = {1,2,3,4,5,6};

cout<<"输出这个二维数组:"<<endl;
ShowArray2(B,r,c);
ChangeArray2(B,r,c);
cout<<"执行ChangeArray2后数组为:"<<endl;
ShowArray2(B,r,c);
return 0;
}

void ShowArray2(int A[row][col],int sr,int sc)
{
for(int i = 0;i < sr;i++)

{
for(int j=0;j<cc;j++)


{
cout<<setw(5)<<A[i][j];
}

cout<<endl;
}

cout<<"sr:"<<r<<" "<<"sc:"<<c<<endl;
}


void ChangeArray2(int C[row][col],int cr,int cc)
{
int temp1=0,temp2=0,n=0;
for(int i = 0;i < cr;i++)
{
for(int j = 0;j < cc; j++)
{
if((i >= cc)||(i <= j))
{
temp1 = C[i][j];
C[i][j] = C[j][i];
C[j][i] = temp1;

}

}
}


temp2 = r;
r = c;
c = temp2;

}


这是我的程序,但是有问题,希望各位能修正。


65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧