Problem B: 立体空间中的点(II)

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 1662   Solved: 1299
[ Submit][ Status][ Web Board]

Description

设计一个平面上的点Point类和3维的点Point_3D类,满足Point_3D类继承自Point类,用于读取输入的数据,输出所构造的两种点的坐标。并统计输入的两种点的个数。
设计Point类需支持一下操作:
Point::Point()无参构造。
Point::Point(double,double)两个坐标参数构造。
Point::x()返回x坐标
Point::y()返回y坐标
Point::x(int)修改x坐标并返回
Point::y(int)修改y坐标并返回
Point::showPoint()按格式输出Point对象
Point::showNumber()返回Point对象总数的静态函数
设计Point_3D类需支持一下操作:
Point_3D::Point_3D()无参构造。
Point_3D::Point_3D(double,double,double)三个坐标参数构造。
Point_3D::z()返回z坐标。
Point_3D::z(int)修改z坐标并返回。
Point_3D::showPoint()按格式输出Point_3D对象。
Point_3D::setPoint(double,double,double)根据三个坐标参数修改Point_3D对象的坐标。
Point_3D::showNumber()返回Point_3D对象总数的静态函数。
-----------------------------------------------------------------------------
你设计Point类和Point_3D类,使得main()函数能够正确运行。
函数调用格式见append.cc。
append.cc中已给出main()函数。

Input

输入的第一个整数n,表示有n组测试数据,后面的输入每行为一组测试数据。每组测试数据的第一行是一个整数m,m有两种取值:2、3;m为2时,后面有两个浮点数x、y,表示一个平面上的点的坐标(x,y);m为3时后面有3个浮点数x、y、z,表示一个3维的点的坐标(x,y,z)。

Output

开始部分为由main()函数产生的固定输出,用于测试对象的某些方法的调用情况。输出“Test data output :”之后为测试数据对应的输出:
每组测试数据对应一行输出。
若输入为平面上的点,则输出:“2D Point (x,y)”,x和y为输入的坐标值。
若输入为3维的点,则输出:“3D Point (x,y,y)”,x、y和z为输入的坐标值。
最后,分别输出总共输入的平面上的点数和3维的点数。

Sample Input

5 3 1 2 3 3 0 0 0 2 -1 1 3 -1 -1 -1 2 0 0

Sample Output

Invariable test output : 3D Point (-100,0,100) Point (0,100,100) Test data output : 3D Point (1,2,3) 3D Point (0,0,0) 2D Point (-1,1) 3D Point (-1,-1,-1) 2D Point (0,0) Number of 2D Points : 2 Number of 3D Points : 3

HINT

#include<iostream>
#include<set>
#include<iterator>
#include<string>
#include<set>
#include<queue>
#include<list>
#include<algorithm>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<map>
#include<vector>
#include<cstdlib>
#include<cmath>
#include<stack>
#include<sstream>
using namespace std;
class Point
{
protected:int a,b;
public:static int Number;Point():a(0),b(0){Number++;}Point(double q,double p):a(q),b(p){Number++;}int x(){return a;}int y() {return b;}int x(int q){a=q;return a;}int y(int q) {b=q;return b;}static int showNumber(){return Number;}void showPoint(){cout<<"2D Point ("<<x()<<","<<y()<<")"<<endl;}
};
class Point_3D:public Point
{
protected:int c;
public:static int Number1;static int showNumber(){return Number1;}Point_3D():c(0){Number1++;}Point_3D(double a,double b,double c):Point(a,b),c(c){Number1++;}int z(){return c;}int z(int q){c=q;return c;}void setPoint(double q,double p,double l){x(q);y(p);z(l);}void showPoint(){cout<<"3D Point ("<<x()<<","<<y()<<","<<z()<<")"<<endl;}};int Point::Number=0;int Point_3D::Number1=0;
int main()
{cout<<"Invariable test output :"<<endl;Point_3D p3d;p3d.setPoint(-100, 0, 100);p3d.showPoint();p3d.x(0);p3d.y(100);cout<<"Point ("<<p3d.x()<<","<<p3d.y()<<","<<p3d.z()<<")"<<endl;cout<<"\nTest data output :"<<endl;int cases;cin>>cases;for(int i = 1; i <= cases; i++){double x, y, z;int point_type;cin>>point_type;if(point_type == 2){cin>>x>>y;Point p(x, y);p.showPoint();}if(point_type == 3){cin>>x>>y>>z;Point_3D p(x, y, z);p.showPoint();}}cout<<"Number of 2D Points : "<<Point::showNumber() - Point_3D::showNumber()<<endl;cout<<"Number of 3D Points : "<<Point_3D::showNumber() - 1<<endl;
}

Problem B: 立体空间中的点(II)相关推荐

  1. 实验8:Problem A: 立体空间中的点(I)

    Home Web Board ProblemSet Standing Status Statistics Problem A: 立体空间中的点(I) Problem A: 立体空间中的点(I) Tim ...

  2. Java代码实现三维立体空间中两点距离的求解

    资源下载地址:https://download.csdn.net/download/sheziqiong/86763912 资源下载地址:https://download.csdn.net/downl ...

  3. 平面剖分三角形Delaunay算法实现,以及扩展到立体空间中的实现(附源码)

    平面剖分三角形Delaunay算法实现 前端版实现:https://github.com/ccinos/TriangleMesh Delaunay2D.cs下载 void Triangulate() ...

  4. 认知空间是什么意思_百变立体空间 搭建创意世界

    磁力片自行车 磁力片机器人 用磁力片搭建出的几何图形 磁力片三轮车 本版图片均由记者 周素琼 摄 假期宝贝玩什么?在妈妈们的玩具购买清单里,乐高一定是不会少的.作为知名的搭建类玩具,乐高的确有不少让孩 ...

  5. 51单片机中使用ucos ii的优缺点(好文)

    摘要:近年来,在单片机系统中嵌入操作系统已经成为人们越来越关心的一个话题.本文通过对一种源码公开的嵌入式实时操作系统ucos ii的分析,以51系列单片机为例,阐述了在单片机中使用该嵌入式操作系统的优 ...

  6. 流行发型--空间修剪+立体空间烫

    瑞丽烫.流行发型--空间修剪+立体空间烫 发型设计:张军权(瑞丽烫形象设计艺术总监) 烫发是美发流程中非常关键的环节,也是技术难度最高的环节,而且烫发技巧翻新速度极快,花样迭出,比如时下流行的烟花烫. ...

  7. 已知空间中的三点 求三角形面积_【微专题】立体几何中的截面问题

    在立体几何考点中涉及到空间几何体的截面的地方较多,如:判断截面的形状.计算出空间几何体的截面周长或面积.或者求与之相关的体积问题.以及最值问题都在考察之列,但是要顺利地解决前面所提到的诸多问题,都必须 ...

  8. 【计算机图形学】Embedded Deformation for shape manipulation在嵌入空间中变形

    Embedded Deformation for shape manipulation 发表期刊:siggraph 2007 1. 概述 本论文通过建立"deformation graph& ...

  9. background 立体空间背景节点

    2010-05-29  background 立体空间背景节点 定义了VRML/X3D世界中的天空和地面颜色及天空和地面角.这里主要是介绍室外的空间背景设计,节点的具体用法如下: background ...

最新文章

  1. 全球首个开源图像识别系统上线了!人脸、商品、车辆识别一网打尽!
  2. 基于Annotation的输入校验
  3. 华为鸿蒙发布会新手机,曝华为 P50/Pro 系列最终版确定,6 月 2 日揭晓鸿蒙手机发布时间...
  4. Django(part40)--如何走向404
  5. 自己如何获取ADO连接字符串
  6. Visual C# 2008+SQL Server 2005 数据库与网络开发--13.1.1 菜单创建
  7. 华为轮值董事长徐直军:5G不是原子弹 不伤害人
  8. Google学术IP被锁--403
  9. java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询
  10. sql复制表结构和数据_SQL复制表
  11. MVS同时读取多个二维码
  12. 优化算法--SGD,batch SGD
  13. android麦克风设置在哪,手机麦克风设置实用教程
  14. [Codeforces 894E] Ralph and Mushrooms
  15. 网络服务器是干什么用的
  16. 2021届校招求职计划、总结
  17. 「实在RPA学院」电商运营36计:企微批量自动加好友
  18. 还有很多事情等待去完成。
  19. 学习使用微信小程序动态获取当前时间并实时跳动
  20. C++学习笔记,坚持自律!

热门文章

  1. 【并行算法】考试样卷
  2. 携程、途牛、同程、飞书等21款APP因侵犯用户隐私数据被通报
  3. AJAX+PHP+MySQL搜索(亲测可用附源码)
  4. 数仓项目搭建学习记录(详细)
  5. 苏州企业申报高新技术企业的工作流程
  6. Java每日一课:理解抽象类和接口的区别与联系
  7. 程序员入门必读 的十大编程语言你了解吗
  8. CF3C--Tic-tac-toe翻译
  9. 什么是PoE、PSE、PD设备?
  10. 1/n *sinx = ?