用二維數組實現矩陣轉置


實例說明:

這里給出兩套源碼。

自己寫的:

 1 /**
 2  * Copyright (c) 1991 - 2016 Arvin Tang.
 3  * All rights reserved.
 4  *
 5  * 文件名稱:實例12
 6  * 簡要描述:二維數組的轉置
 7  *
 8  * 當前版本:1.0
 9  * 作    者:
10  * 完成日期:2016-1-7
11  * 修訂說明:
12  *
13  * 取代版本:
14  * 作    者:
15  * 完成日期:
16  * 修訂說明:
17  */
18 #include <stdio.h>
19 #include <stdlib.h>
20 //
21 //clrscr();函數不是標准的C函數,只存在Tuber C中且#include <conio.h>。
22 //但是可以用system("cls");代替,且#include <stdlib.h>。
23 
24 #define ROW 3//定義行
25 #define COL 4//定義列
26 
27 int main(int argc, char const *argv[])
28 {
29     //二維數組轉換
30     int a[ROW][COL];
31 
32     int i,j;
33 
34     printf("請輸入一個%d行,%d列的矩陣:\n", ROW,COL);
35 
36     for(i = 0; i < ROW; i++)
37     {
38         for(j = 0; j < COL;j++)
39         {
40             scanf("%d", &a[i][j]);
41         }
42     }
43 
44     system("cls");//清屏
45 
46     printf("你剛才輸入的是一個%d行,%d列的矩陣:\n", ROW,COL);
47 
48     for(i = 0; i < ROW; i++)
49     {
50         for(j = 0; j < COL;j++)
51         {
52             printf("%d\t", a[i][j]);
53         }
54 
55         printf("\n");
56     }
57 
58     printf("下面將為你轉換為一個%d行,%d列的矩陣:\n", COL,ROW);
59 
60     for(i = 0; i < COL; i++)
61     {
62         for(j = 0; j < ROW; j++)
63         {
64             printf("%d\t", a[j][i]);
65         }
66 
67         printf("\n");
68     }
69 
70     return 0;
71 }
View Code

書上的:

 1 /* 用二維數組實現矩陣的轉置 */
 2 #include <stdio.h>
 3 #define ROW 3
 4 #define COL 4
 5 main()
 6 {
 7     int matrixA[ROW][COL],matrixB[COL][ROW];
 8     int i,j;
 9 
10     clrscr();
11     printf("Enter elements of the matrixA,");
12     printf("%d*%d:\n",ROW,COL);
13     for( i=0; i<ROW; i++ )
14     {
15         for( j=0; j<COL; j++ )
16         {
17             scanf("%d",&matrixA[i][j]);
18         }
19     }
20 
21     for( i=0; i<ROW; i++ )
22     {
23         for( j=0; j<COL; j++ )
24         {
25             matrixB[j][i] = matrixA[i][j];
26         }
27     }
28 
29     printf("MatrixB,");
30     printf("%d*%d:\n",COL,ROW);
31     for( i=0; i<COL; i++ )
32     {
33         for( j=0; j<ROW; j++ )
34         {
35             printf("%8d",matrixB[i][j]);
36         }
37         printf("\n");
38     }
39     printf("\n  Press Any Key to Quit...  \n");
40     getch();
41 }
View Code

補充:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM