本练习的目的是通过定义和使用简单类来练习基本的OOP编程 [英] The objective of this exercise is to practice basic OOP programming by defining and using simple classes

查看:89
本文介绍了本练习的目的是通过定义和使用简单类来练习基本的OOP编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Problem Description

Given a 2-dimensional square matrix, output the final state of the matrix after performing the given sequence of transformation operations. The followings are the valid operations:
 
1. Rotate X
- Rotate the matrix by X degrees clockwise, and X can only be 90, 180, or 270.
2. Reflect x
- Reflect the matrix about the x-axis.
3. Reflect y
- Reflect the matrix about the y-axis.
 
In your program, you may want to read each input transformation operation into a string object, and you can compare the value in the string object to a string literal using the == operator, such as the followings:
 
string testStr;
cin >> testStr;
if (testStr == "Good") ...
 
For more info about the string class, see http://www.cplusplus.com/reference/string/string/.
 
Inputs

The first line of the input contains one integer N, where 1 <= N <= 100. The next N lines contain the N x N integers of the matrix.
 
The next line is an integer K, where 1 <= K <= 100, and it is the number of transformation operations to be performed.
 
Each of the subsequent K lines is the operation "Rotate X" (where is X is 90, 180 or 270), "Reflect x", or "Reflect y".
 
Outputs

The output is the final state of the matrix after the given sequence of transformation operations.
 
Sample Input

3
1 2 3
4 5 6
7 8 9
3
Rotate 90
Reflect x
Reflect y
 
(User inputs are shown in bold red.)
 
Sample Output

3 6 9
2 5 8
1 4 7
 

Explanation of Sample Output

1. Initial matrix:
1 2 3
4 5 6
7 8 9
 
2. After 90 degrees rotation:
7 4 1
8 5 2
9 6 3
 
3. After reflection about the x-axis:
9 6 3
8 5 2
7 4 1
 
4. After reflection about the y-axis:
3 6 9
2 5 8
1 4 7
 
Submission

You need to submit only your completed Matrix.cpp, Matrix.h, and Transformation.cpp





我尝试过:



不确定如何将Matrix.h和Transformation.cpp添加到代码中。



What I have tried:

Unsure on how to add Matrix.h and Transformation.cpp into code.

推荐答案

我们不要做你的功课:这是有原因的。它就是为了让你思考你被告知的事情,并试着理解它。它也在那里,以便您的导师可以识别您身体虚弱的区域,并将更多的注意力集中在补救措施上。



亲自尝试,你可能会发现它不是和你想的一样困难!



如果遇到具体问题,请询问相关问题,我们会尽力提供帮助。但是我们不会为你做这一切!
We do not do your homework: it is set for a reason. It is there so that you think about what you have been told, and try to understand it. It is also there so that your tutor can identify areas where you are weak, and focus more attention on remedial action.

Try it yourself, you may find it is not as difficult as you think!

If you meet a specific problem, then please ask about that and we will do our best to help. But we aren't going to do it all for you!


Quote:

不确定如何将Matrix.h和Transformation.cpp添加到代码中。

Unsure on how to add Matrix.h and Transformation.cpp into code.



试错法是一种很好的学习方法。尝试一下,如果你错了,编译器会告诉你。



我们不做你的HomeWork。

HomeWork不是设法测试你的技能,乞求其他人做你的工作,它会让你思考,并帮助你的老师检查你对你所采取的课程的理解,以及你应用它们时遇到的问题。

你的任何失败都会帮助你的老师发现你的弱点并设定补救措施。

你的任何失败都会帮助你了解什么有效,什么无效,被称为'试错'学习。

所以,试一试,重读课程并开始工作。如果您遇到特定问题,请展示您的代码并解释这个问题,我们可能会提供帮助。


Trial and error is a good way to learn. Give it a try, if you are wrong, the compiler will tell you.

We do not do your HomeWork.
HomeWork is not set to test your skills at begging other people to do your work, it is set to make you think and to help your teacher to check your understanding of the courses you have taken and also the problems you have at applying them.
Any failure of you will help your teacher spot your weaknesses and set remedial actions.
Any failure of you will help you to learn what works and what don't, it is called 'trial and error' learning.
So, give it a try, reread your lessons and start working. If you are stuck on a specific problem, show your code and explain this exact problem, we might help.


这篇关于本练习的目的是通过定义和使用简单类来练习基本的OOP编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆