C 語言旋轉矩陣輸入乙個數字作為順序

發布 教育 2024-08-16
8個回答
  1. 匿名使用者2024-02-01

    #include

    #include

    #define maxn 20

    int a[maxn][maxn];

    int main()

    int n;

    int x, y, k;

    scanf("%d", &n);

    x = 0;

    y = 0;

    memset(a, 0, sizeof(a));將 a 陣列中的元素設定為 0

    a[x][y]= k = 1;

    撞牆時 (k < n * n)。

    while(y + 1 < n &&a[x][y+1] == 0) 第 n 個圓的第一行。

    a[x][+y] = ++k;

    while(x + 1 < n &&a[x+1][y] == 0) 第 n 個圓圈的最後一列。

    a[++x][y] = ++k;

    while(y - 1 >= 0 &&a[x][y-1] == 0) 第 n 個圓圈的最後一行。

    a[x][-y] = ++k;

    while(x - 1 >= 0 &&a[x-1][y] == 0) 第 n 個圓的第一列。

    a[--x][y] = ++k;

    例如,n = 4

    有 2 圈。 當我們完成最外層 (n = 2) 的圓圈時,n - 1 ) 圈的起點再次是左上角的位置,另乙個迴圈......

    輸出結果。 for(x = 0; x < n; x++)

    for(y = 0; y < n; y++)

    printf("%3d", a[x][y]);

    printf("");

    return 0;

  2. 匿名使用者2024-01-31

    直接列舉。

    白哪一點。

    哪個職位已經調到智道

    它變成了 2,0 1,0 0,0

    它相當於版本 A i,j 變成 2-j,i 可以使用一次。

  3. 匿名使用者2024-01-30

    使用鍊表很容易做到這一點...... 製作乙個迴圈鍊表。

  4. 匿名使用者2024-01-29

    設矩陣的行數為 r,列數為 c,則元素 a[i][j] 的順時針旋轉公式應如下:

    a[i][j] -a[x][y]

    if(i >0 &&&i 0 &&&j < c-1)else if(i = 0 &&j< c-1)else if(i == r-1 &&&j > 0)else if(j==0 &&&i > 0)else if(j==c-1 &&&i 旋轉 n 次,即連續對 a[i][j] 進行上述操作 n 次。

  5. 匿名使用者2024-01-28

    以下是順時針旋轉 90° 的示例:

    #include

    #include

    #include

    #define n 4

    void main()

    int i,j;

    int a[n*n],b[n][n];在這裡,您將矩形設定為旋轉 4x4,並在此處將其更改為不同的矩形。

    int *p=a;使用指標指向此一維陣列。 這樣可以更輕鬆地輪換分配。

    srand(time(null));

    for(i=0;i=0;i--) 旋轉分配,您可以在其中修改旋轉的方向和角度。

    for(j=0;j

    對於這種旋轉矩形,我個人建議生成乙個一維陣列,用指標指向變化陣列,然後用指標賦值; 你也可以生成乙個二維陣列,定義乙個陣列指標指向,這有點麻煩。

  6. 匿名使用者2024-01-27

    我會數一數你問的第乙個矩陣:

    #include

    main()}

  7. 匿名使用者2024-01-26

    試試吧,我自己在網咖裡寫的。

    #include

    #include

    void main()

    break;

    case 1:

    x++;if(x>=n||p[x*n+y]!='\0')break;

    case 2:

    y--;if(y<0||p[x*n+y]!='\0')break;

    case 3:

    x--;if(x<0||p[x*n+y]!='\0')break;}}

    for(int i=0;i

  8. 匿名使用者2024-01-25

    #include

    void fun(int m,int n)}else if(point%4==3) on}}for(i=0; ifor(i=0;ifor(i=0;idelete [m]a[i];

    delete [i]a;

    a=null;

    void main()

    絕對符合您的要求。

相關回答
12個回答2024-08-16

要學習 C 語言字串,請輸入指定的字串並計算該字串的位數。

4個回答2024-08-16

輸入以下任一數字以查詢 **,如下所示:

#include >>>More

6個回答2024-08-16

有了 for,do....while 迴圈語句!

例如,查詢從 0 到 100 的質數。 >>>More

8個回答2024-08-16

d,%d,%d放在中間,需要分開的。 (如果不放或分隔空格,可以在進入時用空格分隔)。 >>>More

9個回答2024-08-16

1 建立陣列。

2 輸入資料。 >>>More