关于矩阵的操作

 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:\n",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:\n",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("\n");
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 }
时间: 2024-11-10 08:08:04

关于矩阵的操作的相关文章

OpenCV学习(3)--Mat矩阵的操作

CvMat的矩阵结构 1 typedef struct CvMat 2 { 3 //矩阵中元素的类型 4 int type; 5 //行数据长度 6 int step; 7 8 /* for internal use only */ 9 int* refcount; 10 int hdr_refcount; 11 12 //指向数据的指针 13 union 14 { 15 uchar* ptr; 16 short* s; 17 int* i; 18 float* fl; 19 double* d

矩阵的操作

矩阵的之字打印,顺时针旋转90,顺时针打印操作... //题目描述 // //对于一个矩阵,请设计一个算法,将元素按“之”字形打印.具体见样例. //给定一个整数矩阵mat,以及他的维数nxm,请返回一个数组,其中元素依次为打印的数字. //测试样例: //[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], 4, 3 //返回:[1, 2, 3, 6, 5, 4, 7, 8, 9, 12, 11, 10] //设置一个标志位或者分奇偶数即可. #in

图像处理之 opencv 学习---矩阵的操作

OpenCV的一些操作,如生成随机矩阵,高斯矩阵,矩阵相乘之类的 /*功能:说明矩阵的一些操作方法*/#include "cv.h"//该头文件包含了#include "cxcore.h"#include "highgui.h"#include <stdio.h>void PrintMat(CvMat *A); // 显示矩阵void GenRandn(CvMat *arr, int seed); // 生成正态分布的随机矩阵void

Numpy 对于矩阵的操作持续更新

>>> import numpy as np >>> a = np.random.randint(10,size=(5,5)) >>> a array([[0, 8, 3, 0, 2], [0, 6, 6, 6, 3], [0, 3, 6, 8, 7], [2, 6, 1, 4, 4], [4, 1, 5, 6, 4]]) 1. 数组切片 随机生成5x5的一个矩阵 提取矩阵第n列 >>> a[:,3] array([0, 6, 8,

OpenGL中平移、旋转、缩放矩阵堆栈操作

在OpenGL中,图元的几何变换均为线性变换,通过矩阵变换实现.OpenGL中的坐标用齐次坐标表示,即(x,y,z)表示成(x',y',z',h),其中x=x'/h; y=y'/h; z=z'/h. 通常h取1. 比如空间中的点(2,3,4),在OpenGL中将表示成(2,3,4,1). 齐次坐标表示方式适合于矩阵运算,也很方便地表示了无穷远的点,比如(1,0,0,0)就表示x轴上无穷远的点,因为1/0是无穷大,这里约定0/0=0. 例:点(1,1,1)将该向量平移变换(2,3,4)个单位,得到

python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?

Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量,向量和张量. 从python内存角度理解,就是一个数值,长度为1,并且不是一个序列: 从numpy与tensorflow数学角度理解,就是一个标量,shape为(),其轴为0: [1,2,3,4,5,6] 从python内存角度理解,就是1*6或者长度为6的一个序列: 从numpy与tensorf

c++处理矩阵操作:Eigen库初步学习使用

前言: Eigen 是一个线性算术的C++模板库,包括:vectors, matrices, 开源以及相关算法.功能强大.快速.优雅以及支持多平台,可以使用该库来方便处理一些矩阵的操作,达到类似matlab那样的快捷.现在已经发展到Eigen3了,目前最新版本为Eigen 3.1.2. Eigen使用预备工作: 首先到Eigen官网上下载Eigen源码包,下载后解压完直接放到自己平时软件所在的目录下,不需要安装.Eigen下载地址为:http://eigen.tuxfamily.org/inde

转载 matlab矩阵数组常用操作

一. length             返回矩阵最长维的的长度    ndims       返回维数          numel      返回矩阵元素个数size               返回每一维的长度,[rows,cols]=size(A) 矩阵块操作 1.repmat() 数组块状复制 2.blkdiag()对角块生成函数 3.kron()直积 二.矩阵元素的提取与替换 (1)提取 A(i, j) :矩阵 A 中,位于第 i 横列.第 j 直行的元素用冒号(:), 取出一整列

matlab_矩阵的灵活操作

矩阵的随心所欲的世界: 矩阵的生成[创建] 矩阵的扩充 矩阵的操作[访问.赋值.删减.变向.抽取] 矩阵的分块[划分子集] 1. 矩阵的生成 使用          功能1) 特殊字符 [ ]   直接输入构造数组2) zeros()函数   构造全0数组 2. 矩阵的扩充 使用 特殊字符 [ ]Example: 原矩阵A,需要扩充的元素B,CD = [A,B,C] 扩充列D = [A;B,C] 扩充行...[扩充符合矩阵的大小性质均可] 错误操作: A = [1,2] B = [1;2] C