关于矩阵的操作

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 #define ROW 3
 5 #define COL 3
 6 //#define P 2
 7 
 8 void input(int array[ROW][COL]);
 9 void output(int array[ROW][COL]);
10 
11 void trans(int arr1[ROW][COL], int arr2[ROW][COL]);
12 
13 void max_min(int arrar[ROW][COL],int *max, int *min);
14 
15 int max(int array[ROW][COL]);
16 
17 
18 int main()
19 {
20     int arr1[ROW][COL];
21     int arr2[ROW][COL];
22     input(arr1);
23     output(arr1);
24 
25     trans(arr1,arr2);
26     output(arr2);
27 
28     system("pause");
29     return 0;
30 }
31 //输入矩阵
32 void input(int array[ROW][COL])
33 {
34     int i;//行的下标
35     int j;//列的下标
36     printf("Input %d*%d numbers:
",ROW,COL);
37 
38     for(i = 0; i < ROW; i++)
39     {
40         for(j = 0; j < COL; j++)
41             scanf_s("%d",&array[i][j]);
42     }
43 }
44 
45 //输出矩阵
46 void output(int array[ROW][COL])
47 {
48     int i;//行的下标
49     int j;//列的下标
50     printf("Output %d*%d numbers:
",ROW,COL);
51 
52     for(i = 0; i < ROW; i++)
53     {
54         for(j = 0; j < COL; j++)
55             printf("%d",array[i][j]);
56         printf("
");
57     }
58 }
59 
60 //求矩阵的转置
61 void trans(int arr1[ROW][COL], int arr2[ROW][COL])
62 {
63     int i;//行的下标
64     int j;//列的下标
65     
66     for(i = 0; i < ROW; i++)
67     {
68         for(j = 0; j < COL; j++)
69             arr2[i][j] = arr1[j][i];
70     }
71 }
72 
73 //求矩阵的最大值
74 int max(int array[ROW][COL])
75 {
76     int i;
77     int j;
78     int max_value = array[0][0];
79 
80     for(i = 0; i < ROW; i++)
81     {
82         for(j = 0; j < COL; j++)
83         {
84             if(array[i][j] > max_value)
85                 max_value = array[i][j];
86         }
87     }
88     return max_value;
89 }
原文地址:https://www.cnblogs.com/cpsmile/p/4776551.html