首页
登录
从业资格
阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】
阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】
题库
2022-08-02
49
问题
阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵对丁tm行n列的稀疏矩阵M,进行转置运算后得到n行m列的矩阵MT,如图3-1所示
图3-1稀疏矩阵M及其转置矩阵MT 为了压缩稀疏矩阵的存储空间,用三元组(即元素所在的行号、列号和元索宜、表示稀疏矩阵中的一个非零元素,再用一维数组逐行存储稀疏矩阵中的所有非零三素也称为三元组顺序表)。例如,图3-1所示的矩阵M相应的三元组顺序表如表3-1所示.其转置矩阵MT的三元组顺序表如表3-2所示。
函数TransposeMatrix(Matrix M)的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算。 对M实施转置运算时,为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置,需先计算M中每一列非零元素的数目(即MT中每一行非零几素的数目),并记录在向量num中;然后根据以下关系,计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置: cpot[0] = 0 cpot[j] = cpot[ j-1]+num[j-1]〕 /* j为列号 */ 类型ElemType, Triple和Matrix定义如下: typedef int ElemType; typedef struct{ /* 三元组类型 */ int r,c; /* 矩阵元素的行号、列号 */ ElemType e; /* 矩阵元素的值 */ }Triple; typedef struct{ /* 矩阵的元组三元组顺序表存储结构 */ int rows,cols,elements; /* 矩阵的行数、列数和非零元素数目 */ Triple data[MAXSIZE]: }Matrix; 【C函数】int TransposeMatrix(Matrix M){ int j , q , t; int *num, *cpot; Matrix MT; /* MT是M的转置矩阵 */ num =(int*)malloc(M.cols*sizeof(int)); cpot =(int*)malloc (M.cols*sizeof(int)); if(!num || !cpot) return ERROR;MT. rows = (1) ; /*设置转置矩阵MT行数、列数和非零元数目*/ MT. cols =(2); MT.elements = M.elements; if (M. elements > 0){for (q = 0 ; q < M. cols ; q++)num[q] = 0;for (t = 0 ; t < M. elements ; ++t ) /* 计算矩阵M中每一列非零元素数目 */ num [M.data [t].c]++: /* 计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置 */(3) ; for(j = 1 ; j<M. cols ; j++) cpot[j] = (4): /* 以下代码完成转置矩阵MT三元组顺序表元素的设置 */ for(t = 0 ; t<M.elements ; t++){ j = (5) /* 取矩阵M的一个非零元素的列号存入j */ /*q为该非零元素在转置矩阵MT三元组顺序表中的位置(下标)*/ q = cpot[j]; MT. data[q].r = M. data[t].c; MT. data[q].c = M. data[t].r; MT. data[q].e = M. data[t].e; ++cpot[j]; /* 计算M中第j列的下一个非零元素的目的位置 */ }/* for */ }/* if */free(num); free(cpot); /* 此处输出矩阵元素,代码省略 */ return OK;}/*TransposeMatrix*/
选项
答案
解析
转载请注明原文地址:https://tihaiku.com/congyezige/2428220.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(
函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(
在软件开发中使用函数库可()。A.提高软件的执行速度 B.降低系统负载 C.
若程序中定义了局部变量与全局变量,则()。A.在函数内只能访问局部变量,而不能访
调用递归过程或函数时,处理参数及返回地址需要用一种称为()的数据结构。A.队列
在Excel的A1单元格中输入函数“=ROUND(14.9,0)”,按回车键后,
在Excel的A1单元格中输入函数“=TRUNC(8.9)”,按回车键之后,A1
在Excel的B1单元格中输入函数“=countif(a1:a6,">60")”
函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方
所有在函数中定义的变量都称为()。A.全局变量 B.局部变量 C.简单变量
随机试题
GPSA)TheGlobalPositioningSystemisaspace-basedtriangulationsyste
Likeothereducatorswhoprefertosubstituteanthologiesofshortstoriesorco
某公司在生产主要产品的同时,还生产了某种副产品。该种副产品可直接对外出售,公司规
慢性再障的治疗首选A.丙酸睾丸酮肌内注射 B.造血干细胞移植 C.维生素B肌
商业银行实施市场风险管理和计提市场风险资本的前提和基础是( )。A.建立完善的
"肾为气之根"主要指A.肾为五脏阳气之根本 B.肾主膀胱的气化开合 C.元气
临床诊断属于A.处方内容正文 B.处方内容后记 C.处方内容主体 D.医嘱
下列四个选项中哪一项能折成左边的给定图形?
下列电子设备中,可以作为移动支付时所使用的移动终端的是()。A.固定电话 B.
企业出售闲置不用的设备形成的资产处置收益将导致企业当期营业利润变动。()
最新回复
(
0
)