- 9
- 0
- 约6.42千字
- 约 14页
- 2018-06-12 发布于贵州
- 举报
C课程设计---矩阵的旋转反射
成 绩 评 定 表
学生姓名 黄荣泽明 班级学号 专 业 计算机科学与技术 课程设计题目 矩阵的旋转反射 评
语
组长签字:
成绩
日期
20 年 月 日
课程设计任务书
学 院 信息科学与工程学院 专 业 计算机科学与技术 学生姓名 黄荣泽明 班级学号 课程设计题目 矩阵的旋转反射 实践教学要求与任务:
输入矩阵的行列,选择旋转方式,输出旋转后的矩阵。
(1)绕X轴旋转;
(2)绕Y轴旋转;
(3)绕原点旋转。
工作计划与进度安排:
第17周
星期一:设计任务分析和总体设计
星期二:软件算法和流程设计
星期三、四、五:软件编码实现
第18周
周一:软件总体调试
周二:软件运行分析
周三:答辩、验收程序
周四:答辩、验收程序
周五:书写课程设计报告,提交
指导教师:
201 年 月 日 专业负责人:
201 年 月 日 学院教学副院长:
201 年 月 日
目 录
1 题目内容及设计要求 1
2 总体设计 1
2.1 总体功能框图 1
2.2 类的设计说明 1
2.3 主要算法流程图 1
3 程序清单及注释 1
4 运行结果与分析 1
5 总结 2
6 参考文献 2
1 题目内容及设计要求
输入矩阵的行列,选择旋转方式,输出旋转后的矩阵。
(1)绕X轴旋转;
(2)绕Y轴旋转;
(3)绕原点旋转。
2 总体设计
2.1 总体功能框图
题目的简洁给编程者提供了很大的发挥空间,实际上,从接手此题的刚开始,编程者就将目光放在了二维数组上,因为用二维数组作为矩阵的载体再好不过了,通过修改数组的元素的下标就可以实现对元素的操作即旋转反射。
框图:
2.2 类的设计说明
2.3 主要算法流程图
3、程序清单及注释
#include iostream
#include stdio.h
using namespace std;
class CMatrix //定义矩阵类
{
static int row,line; //定义静态变量,接收数组的行与列
int Mat [100][100]; //定义三个二维数组
int MatR [100][100];
public:
void InputFromKeyboard() //从键盘中输入矩阵
{
cout请输入矩阵的行数:endl;
cinrow;
cout请输入矩阵的列数:endl;
cinline;
int i,j;
if(row100) cout数值超过计算范围,请重新输入endl;
if(line100) cout数值超过计算范围,请重新输入endl;
if(row=100line=100)
{cout请输入数组各成员数据:\n;}
for(i=0;irow;i++)
for(j=0;jline;j++)
{
cout第[i+1][j+1]个数据:;
cinMat [i][j];
}
}
void Show1() //输出函数①,输出原函数
{ int i,j;
for(i=0;irow;i++)
{ for (j=0;jline;j++)
{
if(j0) cout ;
coutMat[i][j];
}
coutendl; }
}
void Show2() //输出函数②,输出原函数
{ int i,j;
for(i=0;irow;i++)
{ for (j=0;jline;j++)
{
if(j0) cout ;
coutMatR[i][j];
}
coutendl; }
}
void ReflectX() //X轴反射
{
int i,j;
for(i=0;irow;i++)
for (j=0;jline;j++)
MatR[i][j]=Mat [row-i-1][j];
cout原矩阵为:endl;
Show1();
cout绕x轴反射后矩阵为:endl;
Show2();
system(pause);
}
voi
原创力文档

文档评论(0)