C++问题矩阵转置 为什么没法转置#includeusing namespace std;void zz(int *p){int i,j,k;for(i=0;i
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 11:32:55
C++问题矩阵转置 为什么没法转置#includeusing namespace std;void zz(int *p){int i,j,k;for(i=0;i
C++问题矩阵转置 为什么没法转置
#include
using namespace std;
void zz(int *p)
{
int i,j,k;
for(i=0;i
C++问题矩阵转置 为什么没法转置#includeusing namespace std;void zz(int *p){int i,j,k;for(i=0;i
/*
请输入矩阵的值
1 2 3 4 5 6 7 8 9
原始矩阵为
1 2 3
4 5 6
7 8 9
原始矩阵为
1 4 7
2 5 8
3 6 9
Press any key to continue
*/
#include <iostream>
using namespace std;
void zz(int *p) {
\x05int i,j,k;
\x05for(i = 0;i < 3;i++) {
\x05\x05for(j = i + 1;j < 3;j++) {
\x05\x05\x05k = *(p + 3 * i + j);
\x05\x05\x05*(p + 3 * i + j) = *(p + 3 * j + i);
\x05\x05\x05*(p + 3 * j + i) = k;
\x05\x05}
\x05}
}
int main() {
\x05int i,j;
\x05int a[3][3];
\x05int *p1;
\x05cout << "请输入矩阵的值"<<endl;
\x05for(i = 0;i < 3;i++) {
\x05\x05for(j = 0;j < 3;j++) {
\x05\x05\x05cin >> a[i][j];
\x05\x05}
\x05}
\x05cout<<"原始矩阵为"<<endl;
\x05for(i = 0;i < 3;i++) {
\x05\x05for(j = 0;j < 3;j++) {
\x05\x05\x05cout << *(*(a + i) + j) << " ";
\x05\x05}
\x05\x05cout << endl;
\x05}
\x05p1=&a[0][0];
\x05zz(p1);
\x05cout << "原始矩阵为" << endl;
\x05for(i = 0;i < 3;i++) {
\x05\x05for(j = 0;j < 3;j++) {
\x05\x05\x05cout << *(*(a + i) + j) << " ";
\x05\x05}
\x05\x05cout << endl;
\x05}
\x05return 0;
}