当前位置:首页 » 编程语言 » c语言33矩阵转置

c语言33矩阵转置

发布时间: 2022-08-22 10:38:10

㈠ C++题目: 写一个函数将一个3*3的整型矩阵转置。

1、首先在编辑器中准备好一个空白的c语言文件,引入C语言标准库,在main函数中定义一个3x3阶矩阵以及循环体中要用的变量i和j,以及一个用来交换数据的临时变量tmp,然后下一步就可以开始编写处理转置的部分了:

㈡ C语言、用指针方法实现一个3*3矩阵的转置

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

void move(int*pointer);//函数声明

int a[3][3],i,j;

int*p;

cout<<"请输入矩阵元素:"<<endl;

for(i=0;i<3;i++)//输入数组

{

for(j=0;j<3;j++)

{

cin>>a<i>[j];

}

}

cout<<"输出原矩阵:"<<endl;//输出矩阵

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

cout<<setw(5)<<a<i>[j];

}

cout<<endl;

}

p=&a[0][0];//将数组首元素赋给指针变量p

move(p);//函数调用

cout<<"处理后的矩阵:"<<endl;

for(i=0;i<3;i++)//输出处理后的矩阵

{

for(j=0;j<3;j++)

{

cout<<setw(5)<<a<i>[j];

}

cout<<endl;

}

return 0;

}

//交换函数

void move(int*pointer)

{

int i,j,t;

for(i=0;i<3;i++)

{

for(j=i;j<3;j++)

{

t=*(pointer+3*i+j);//这是关键将矩阵转置的条件

*(pointer+3*i+j)=*(pointer+3*j+i);

*(pointer+3*j+i)=t;

}

}

}



(2)c语言33矩阵转置扩展阅读:

用函数

#include<stdio.h>

int main()

{

void move(int*s);

int a[3][3];int i=0;

int*p=&a[0][0];

printf("请输入一个3*3的数组: ");

for(i=0;i<3;i++)

{

scanf("%d%d%d",&a<i>[0],&a<i>[1],&a<i>[2]);

}

move(p);

printf("转置后的结果: ");

for(i=0;i<3;i++)

{

printf("%d%d%d ",a<i>[0],a<i>[1],a<i>[2]);

}

return 0;

}

void move(int*s)

{

int i,j,t;

for(i=0;i<3;i++)

{

for(j=i;j<3;j++)

{

t=*(s+3*i+j);

*(s+3*i+j)=*(s+3*j+i);

*(s+3*j+i)=t;

}

}

}

㈢ c语言:写一个函数,将输入的3*3的整形矩阵进行转置 用函数

#include<stdio.h>

int main()

{

void move(int *s);

int a[3][3];int i=0;

int *p=&a[0][0];

printf("请输入一个3*3的数组: ");

for(i=0;i<3;i++)

{

scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);

}

move(p);

printf("转置后的结果: ");

for(i=0;i<3;i++)

{

printf("%d %d %d ",a[i][0],a[i][1],a[i][2]);

}

return 0;

}

void move(int *s)

{

int i,j,t;

for(i=0;i<3;i++)

{

for(j=i;j<3;j++)

{

t=*(s+3*i+j);

*(s+3*i+j)=*(s+3*j+i);

*(s+3*j+i)=t;

}

}

}

(3)c语言33矩阵转置扩展阅读:

在C语言或C++中,会把用来#include的文件的扩展名叫 .h,称其为头文件。

#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。在现行的c++版本中,应用这个头文件应是#include<stdio.h>

stdio 就是指 “standard input & output"(标准输入输出)所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!

例如c语言中的 printf("%d",i); scanf("%d",&i);等函数。

引用方法

#include <stdio.h>

(注:在TC2.0中,允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的。也不建议这样做。以避免出现在其他IDE中无法编译或执行的问题。)

标准函数

int getchar()//从标准输入设备写入一个字符

int putchar()//向标准输出设备读出一个字符

int scanf(char*format[,argument…])//从标准输入设备读入格式化后的数据

int printf(char*format[,argument…])//向标准输出设备输出格式化字符串

char* gets(char*string)//从标准输入设备读入一个字符串

int puts(char*string)//向标准输出设备输出一个字符串

int sprintf(char*string,char*format[,…])//把格式化的数据写入某个字符串缓冲区。

㈣ c语言如何通过定义函数来转置矩阵

#include <stdio.h>

int main()

{ struct aaa

{ int x;

int y;

};

struct aaa t,a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2};

int i,j;

for(i=0; i<3; i++)

{ for(j=0; j<3; j++)

printf("[%d,%d] ",a[i][j].x,a[i][j].y);

printf(" ");

}

printf("after: ");

for(i=0; i<3; i++)

for(j=0; j<i; j++)

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

for(i=0; i<3; i++)

{ for(j=0; j<3; j++)

printf("[%d,%d] ",a[i][j].x,a[i][j].y);

printf(" ");

}

return 0;

}

或:

#include <stdio.h>

struct aaa

{ int x;

int y;

};

void zhuan(struct aaa a[][3])

{ struct aaa t;

int i,j;

for(i=0; i<3; i++)

for(j=0; j<i; j++)

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

void prt(struct aaa a[][3])

{ int i,j;

for(i=0; i<3; i++)

{ for(j=0; j<3; j++)

printf("[%d,%d] ",a[i][j].x,a[i][j].y);

printf(" ");

}


}

int main()

{ struct aaa a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2};

prt(a);

zhuan(a);

printf("after: ");

prt(a);

return 0;

}

热点内容
在配置更新的时候没电关机怎么办 发布:2024-05-18 20:36:10 浏览:926
win7访问win2000 发布:2024-05-18 20:27:41 浏览:387
青岛人社局密码多少 发布:2024-05-18 20:19:10 浏览:733
无法存储呼叫转移 发布:2024-05-18 20:18:30 浏览:125
数据库的调优 发布:2024-05-18 20:18:29 浏览:345
sqlserver注册表清理 发布:2024-05-18 20:13:14 浏览:990
linux删除连接 发布:2024-05-18 20:06:56 浏览:821
linux搭建云服务器平台 发布:2024-05-18 19:52:21 浏览:401
安卓怎么关闭美易订阅 发布:2024-05-18 19:29:16 浏览:643
苹果手机配置代理服务器怎么开 发布:2024-05-18 19:29:07 浏览:230