Problem D: 平面上的点和线——Point类、Line类 (IV)
Description
Input
输入的第一行为N,表示后面有N行测试样例。
每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。
Output
Sample Input
Sample Output
HINT
Append Code
int
main()
{
char
c;
int
num, i;
double
x1, x2, y1, y2;
Point p(1, -2), q(2, -1), t;
t.show();
std::cin>>num;
Line line[num];
for
(i = 0; i < num; i++)
{
std::cout<<
"=========================\n"
;
std::cin>>x1>>c>>y1>>x2>>c>>y2;
line[i].SetLine(x1, y1, x2, y2);
line[i].show();
}
std::cout<<
"=========================\n"
;
Line l1(p, q), l2(p, t), l3(q, t), l4(t, q);
l1.show();
l2.show();
l3.show();
l4.show();
}
#include <iostream>
using
namespace
std;
class
Point
{
double
x,y;
friend
class
Line;
public
:
Point(
double
xx=0,
double
yy=0):x(xx),y(yy)
{
cout<<
"Point : ("
<<x<<
", "
<<y<<
") is created."
<<endl;
}
~Point()
{
cout<<
"Point : ("
<<x<<
", "
<<y<<
") is erased."
<<endl;
}
void
show()
{
cout<<
"Point : ("
<<x<<
", "
<<y<<
")"
<<endl;
}
Point(
const
Point & pl )
{
x=pl.x;
y=pl.y;
cout<<
"Point : ("
<<x<<
", "
<<y<<
") is copied."
<<endl;
}
};
class
Line
{
Point p1,p2;
friend
class
Point;
public
:
Line(
double
x1=0,
double
x2=0,
double
x3=0,
double
x4=0):p1(x1,x2),p2(x3,x4)
{
cout<<
"Line : ("
<<x1<<
", "
<<x2<<
") to ("
<<x3<<
", "
<<x4<<
") is created."
<<endl;
}
Line(Point &p,Point &q):p1(p),p2(q)
{
cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is created."
<<endl;
}
~Line()
{
cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is erased."
<<endl;
}
void
show()
{
cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
")"
<<endl;
}
void
SetLine(
double
a,
double
b,
double
c,
double
d)
{
p1.x=a;
p1.y=b;
p2.x=c;
p2.y=d;
}
};
int
main()
{
char
c;
int
num, i;
double
x1, x2, y1, y2;
Point p(1, -2), q(2, -1), t;
t.show();
std::cin>>num;
Line line[num];
for
(i = 0; i < num; i++)
{
std::cout<<
"=========================\n"
;
std::cin>>x1>>c>>y1>>x2>>c>>y2;
line[i].SetLine(x1, y1, x2, y2);
line[i].show();
}
std::cout<<
"=========================\n"
;
Line l1(p, q), l2(p, t), l3(q, t), l4(t, q);
l1.show();
l2.show();
l3.show();
l4.show();
}
Problem D: 平面上的点和线——Point类、Line类 (IV)的更多相关文章
- Problem E: 平面上的点和线——Point类、Line类 (V)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem C: 平面上的点和线——Point类、Line类 (III)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem B: 平面上的点和线——Point类、Line类 (II)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem A: 平面上的点和线——Point类、Line类 (I)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem F: 平面上的点——Point类 (VI)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem E: 平面上的点——Point类 (V)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem D: 平面上的点——Point类 (IV)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem C: 平面上的点——Point类 (III)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem B: 平面上的点——Point类 (II)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
随机推荐
- git命令-切换分支
git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢? 1. 查看远程分支 $ git branch -a 我在mxnet根目录下运行以上命令: ~/mx ...
- [评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)
[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲 ...
- Xilinx Vivado的使用详细介绍(4):Zedboard+vivado之流水灯(加SDK)
Vivado+zedboard之初学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015.4) 开发板:Zedboard version xc7z020 ...
- vjson.hpp
//vov #ifndef VJSON_HPP #define VJSON_HPP #include <iostream> #include <string> #include ...
- SQL Server 2008 无法安装U890
安装U890,环境检测的时候,却提示数据库不符合要求, 解决方法: 通过修改SQLServer的版本号 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServ ...
- gm图片处理器:The gm/convert binaries can't be found
今天在使用node处理模块gm的时候,总是无法正常使用,报:The gm/convert binaries can't be found(找不到gm/convert二进制文件) google了一下,发 ...
- Mtlab:抛物型方程的交替方向隐格式(ADI)
tic; clear clc M=[,,,,]; N=M; :length(M) h=/M(p);% 这里定义空间步长等距 tau=/N(p); % 时间步长 x=:h:; y=:h:; t=:tau ...
- 初识ldap
什么是LDAP? LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的, 但是简单多了并且可以根据需要定制.与 ...
- mac常用操作
Command+Shift+. 可以显示隐藏文件.文件夹 touch a.txt 新建txt文件
- php上传文件,接口是java,go。
$uri = ‘https://www.xxx.com/api/xxxxx’; $ch = curl_init(); //加@符号curl就会把它当成是文件上传处理 $tmpName = $_FILE ...