文档详情

C语言课程设计(论文)-矩阵乘法.doc

发布:2018-01-23约4.29千字共32页下载文档
文本预览下载声明
学 号: 课 程 设 计 题 目 矩阵乘法 教 学 院 计算机学院 专 业 09计算机科学与技术 班 级 09计科(1)班 姓 名 指导教师 2010 年 12 月 25 日 课程设计任务书 (2010~2011学年第一学期) 学生姓名: 专业班级:09计算机科学与技术(1)班 指导教师: 工作部门: 计算机学院 一、课程设计题目 矩阵乘法 二、课程设计内容 1.矩阵的存储 2.矩阵的乘法 3.矩阵的的加法与减法 三、进度安排 1.分析问题,给出数学模型,选择数据结构. 2.设计算法,给出算法描述 3.给出源程序清单 4. 编辑、编译、调试源程序 5. 撰写课程设计报告 四、基本要求 1.用C语言实现利用实现的基本功能的各个功能模块要求用函数的形式实现完成设计任务并书写课程设计报告。 否 否 能 能 六、功能介绍 1.矩阵的加法 2.矩阵的的减法 3.矩阵的的乘法 4.矩阵的的转置 七、算法分析 1. 用.h文件的调用代码 #includevoid Menu.h #includevoid jia.h #includevoid jian.h #includevoid cheng.h #includevoid zhuanzhi.h 2. 控制界面的前景背景 { system(color 0a); } 3. (1)设置符串型辅助变量,再将字符串型转换为整型 (2)判断是否为数字 (1)和(2)增强程序的健壮性 (1) char c1[10]; //辅助变量 int c=0; cinc1; j=strlen(c1); for(i=j-1,j=0;i=0;i--,j++) c=c+(int)((c1[i]-0)*pow(10,j)) ; (2)if( strcmp(c1,0)=0strcmp(c1,5)0) 4. 使程序暂停和清屏功能 { cout\t\t\t\t; system(pause); system(cls); } 5. 判断能否相加以及行列是否为数字 if(m==fg==nstrcmp(m1,0)0strcmp(m1,9)=0 strcmp(n1,0)0 strcmp(n1,9)=0) 6. 定义矩阵 double **a=NULL; (释放后再赋值为NULL在一些进行有效性判断的地方用a==NULL来判断指针是否为空指针) a=(double**)malloc(m*sizeof(double*)); (这句是动态定义二维数组的行数新的标准ANSI C规定malloc函数的返回值类型为void型,所以需要强制转化为double型的指针后才能赋给a) for(i=0;im;i++) a[i]=(double*)malloc(g*sizeof(double)); (这句是动态定义二维数组的列数) 7. 从 .txt文件输入数据 FILE *fpa; printf(请输入矩阵A的元素\n\n\n); system(input-a.txt); fpa=fopen(input-a.txt,r); //读文件input-a.txt if(fpa==NULL) { printf(文件写打开失败); exit (0); } for(i=0;im;i++) for(j=0;jg;j++)
显示全部
相似文档