当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

c语言中矩阵的旋转问题

更新:03-17 整理:39baobao.com
字体:

[C语言求矩阵的逆]去文库,查看完整内容> 内容来自用户:zhangbincehui #include #include void jiafa() { int m,n; float a[20][20],b[20][20],c[20][20]; int i,j; printf("请输入矩阵行数:"); scanf...+阅读

#include void main() {int a[3][3]={{11,12,13},{14,15,22},{23,24,25}}; int i,j,t; printf("\n原来的矩阵为:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf(" %d",a[i][j]); printf("\n\n");} printf("*********************"); for(i=0;i<2;i++) for(j=0;j<=2-i;j++) {t=a[i][j]; a[i][j]=a[2-i][2-j]; a[2-i][2-j]=t;} printf("\n旋转后的矩阵为:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf(" %d",a[i][j]); printf("\n\n");} }

矩阵旋转的算法

#include using namespace std; void main() { int data[3][3]={1,2,3,4,5,6,7,8,9}; int data1[3][3]; int i, j; for (i=0;i<3;i++) for (j=0;j<3;j++) { data1[j][2-i] = data[i][j]; } for (i=0;i<3;i++) { for (j=0;j<3;j++) { cout<

如何用C编写矩阵旋转问题

用二维数组,如果两个维度的长度不同这样的转置会造成数组越界,但用一维数组代替二维数组处理,在原数组上处理也不是不可能的事情;

具体参考代码如下:

#include

void main()

{

int M;

int N;

int flag=0;

int num1=0;

int num2=1;

int i=0;

int j=0;

char;

char Array[31][31];

printf("请输入矩阵的行M和矩阵的列N:");

scanf("%d%d",&M,&N);

Array[0][0]=str;

while(flag < M*N-1)

{

switch(num2%4)

{

case 1:

++j;

if(j == N-num1-1)

{

num2++;

}

break;

case 2:

++i;

if(i == M-num1-1)

{

num2++;

}

break;

case 3:

--j;

if(j == num1)

{

num2++;

}

break;

case 0:

--i;

if(i == num1+1)

{

num2++;

num1++;

}

break;

}

if(++str == 'Z'+1)

str='A';

Array[i][j]=str;

flag++;

}

for(i=0;i

{

for(j=0;j

{

printf("%c ",Array[i][j]);

}

printf("\n");

}

}

本文地址:https://www.39baobao.com/show/29_48674.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

矩阵求逆c语言Gauss Jordan Elimination Algorithm (高斯消除法) int InverseMatrix_GaussianJordan(const float** &fMat, float **&invMat) { int k, l, m, n; int iTemp; float dTemp; f...

c语言求逆矩阵#include <vector>#include <iomanip>#include <cmath>#include <iostream>using namespace std;double det(int N,vector<double> A){ double D=0; vector<double> B((N-1)...

C语言中如何从文件读取矩阵参考如下: #include #include #include int main() { file *fp; if((fp=fopen("aa.txt","r"))==null) { printf("error in reading file !\n"); exit(1); } float f1,f2,f3; int n=...

C||C语言高分求高效的矩阵相乘程序不用考虑了,你的程序差太多,能达到CPU峰值的十分之一就不错了。 如果只要求高速,去找一个比较好的BLAS库调用一下就可以,比如ATLAS、GOTOBLAS、MKL、ACML、IMCL(前两个免费)。 如...

C语言矩阵相乘两个矩阵相乘的经典算法: 若设Q=M*N其中,M是m1*n1矩阵,N是m2*n2矩阵。当n1=m2时有: for (i=1;i<m1; ++i ) for ( j=1; j<=n2; ++j){ Q[i][j]=0; for(k=1; k<=n1; ++k) Q[i][j]+=...

用C语言实现矩阵的乘法void main() {int a[100][100],b[100][100],c[100][100],i,j,k,m,n,h;<br/> scanf("%d%d%d",&k,&m,&n);<br/> for(i=0;i<k;i++)<br/> for(j=0;j<m;j++)<br/> scanf("%d",&a[i][j...

C语言矩阵乘法#include<stdio.h> int main() { int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int b[4][5]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; int i,j,z,x,y,c[3][5]; for(i=0;i...

矩阵乘法 C语言设计题目是否有问题. m * n的矩阵和n * p的矩阵.相乘的结果应该是一个m * p的矩阵. 因此,以上面的例子,得到的应该是一个2 * 4的矩阵. 下面是代码: #include< stdio.h > main() { i...

矩阵键盘的C语言void delay() //延时子程序 { unsigned char n, m; for (n = 100; n > 0; n--) for (m = 300; m > 0; m--); } unsigned char Keycan(void) //按键扫描程序 P1.0--P1.3为行线...