當前位置:編程學習大全網 - 編程軟體 - 如何用C++編寫矩陣旋轉問題

如何用C++編寫矩陣旋轉問題

用二維數組,如果兩個維度的長度不同這樣的轉置會造成數組越界,但用壹維數組代替二維數組處理,在原數組上處理也不是不可能的事情;

具體參考代碼如下:

#include <stdio.h>

void main()

{

int M;

int N;

int flag=0;

int num1=0;

int num2=1;

int i=0;

int j=0;

char str='A';

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<M;i++)

{

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

{

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

}

printf("\n");

}

}

  • 上一篇:嵌入式開發和前端哪個好
  • 下一篇:推薦壹款筆記本,能流暢運行ps,pr等軟件,預算5000左右,不玩大型遊戲,輕薄壹點的,謝謝?
  • copyright 2024編程學習大全網