【id:34】【20分】D. Point_Array(类+构造+对象数组)

news2024/11/26 4:49:37

题目描述

上面是我们曾经练习过的一个习题,请在原来代码的基础上作以下修改:1、增加自写的析构函数;2、将getDisTo方法的参数修改为getDisTo(const Point &p);3、根据下面输出的内容修改相应的构造函数。

然后在主函数中根据用户输入的数目建立Point数组,求出数组内距离最大的两个点之间的距离值。

输入

测试数据的组数 t

第一组点的个数

第一个点的 x 坐标   y坐标

第二个点的 x坐标  y坐标

............

输出

输出第一组距离最大的两个点以及其距离(存在多个距离都是最大值的情况下,输出下标排序最前的点组合。比如如果p[0]和p[9]、p[4]和p[5]之间的距离都是最大值,那么前一个是答案,因为p[0]排序最前)

...........

在C++中,输出指定精度的参考代码如下:

#include <iostream>

#include <iomanip> //必须包含这个头文件

using namespace std;

void main( )

{ double a =3.141596;

  cout<<fixed<<setprecision(3)<<a<<endl;  //输出小数点后3位


输入样例

2
4
0 0
5 0
5 5
2 10
3
-1 -8
0 9
5 0
 


输出样例

Constructor.
Constructor.
Constructor.
Constructor.
The longeset distance is 10.44,between p[1] and p[3].
Distructor.
Distructor.
Distructor.
Distructor.
Constructor.
Constructor.
Constructor.
The longeset distance is 17.03,between p[0] and p[1].
Distructor.
Distructor.
Distructor.
 


#include <iomanip>
#include <iostream>
#include <math.h>
using namespace std;
class Point
{
private:
    double x, y;
public:
    Point() {}
   
    //将xy存入对象point里面 并输出"Constructor." 
    void setXY(double x1, double y1) { x = x1, y = y1; cout << "Constructor." << endl; }
    
    //求两点距离
    double getDisTo(const Point& p);

    ~Point()
    {
        cout << "Distructor.\n";
    }
};

//求两点距离
double Point::getDisTo(const Point& p)
{
    double d;
    d = sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
    return d;
}
int main()
{
    int t;
    int  n, i = 0; double x, y;
    cin >> t;
    while (t--)
    {
        cin >> n;//一组n个点
        Point* p = new Point[n];//创建一个动态数组(类) 但是是类

        for (int i = 0; i < n; i++)
        {
            cin >> x >> y;
            p[i].setXY(x, y);//给每个类赋值xy
        }
        double max = 0; 
        int maxindex = 0, minindex = 0;
        for (int i = 0; i < n - 1; i++)
        {
            for (int j = i + 1; j < n; j++)
            {
                if (max < p[i].getDisTo(p[j]))  //求最长距离
                {
                    max = p[i].getDisTo(p[j]);
                    maxindex = i; minindex = j;//获取下标
                }
            }
        } 
        //0-1 0-2 0-3 .....0-(n-1)
        //1-2 1-3 ...1-(n-1)
        //......
        //(n-2)-(n-1)
        
        // fixed << setprecision(2) 保留两位小数
        cout << fixed << setprecision(2) << "The longeset distance is " << max
            << ",between p[" << maxindex << "] and p[" << minindex << "].\n";
        delete[]p;//删除动态数组 
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP伪造

打开后是一个精美的页面&#xff0c;再精美也没啥用&#xff0c;先查看源码吧可以看到这里有个点击触发的a标签&#xff0c;点进去后提示我不来自https://Sycsecret.buuoj.cn&#xff0c;结合题目是HTTP&#xff0c;立刻就想到了HTTP请求头伪造抓包&#xff0c;本身是没有Refer…

ActiveMQ使用(一):在JavaScript中使用stomp.js

ActiveMQ使用(一):在JavaScript中使用stomp.js 1. 环境准备 jQuery-1.10 下载地址:https://www.jsdelivr.com/package/npm/jquery-1.10.2?tabfilesstomp.js 2.3.3: 下载地址:https://www.jsdelivr.com/package/npm/stompjs 2. 相关代码 <!DOCTYPE html> <html l…

东用科技路由器连接上云助手配置指导手册

一、上云助手操作步骤1.安装“Device control center”并启动。2.点击“服务器设置”后设置端口号&#xff1a;1-65535&#xff0c;传输协议&#xff1a;TCP/UDP。##路由推送功能默认不勾选。其功能为将填写的远端子网及掩码信息推送给客户端&#xff0c;客户端就会生成一条目的…

java反序列化 cc链1 分析

这里我是跟白日梦组长学习&#xff0c;果然大佬就是大佬&#xff0c;讲的是真好&#xff0c;按他的配置&#xff0c;我们来配置环境。 环境搭建 环境&#xff1a; java&#xff1a;java8u_65 commons-collections&#xff1a;3.2.1 这里逛了很多圈&#xff0c;说实在的真的没有…

融云出海赋能会干货回顾 | 用户增长、场景玩法、安全合规实用指南

近期&#xff0c;“纵浪潜海 2023 融云社交泛娱乐出海赋能会”在上海、广州相继举行。移步【融云全球互联网通信云】&#xff0c;回复【出海】获取PPT。 作为更专业的出海服务商&#xff0c;融云联合多家出海服务企业&#xff0c;从热门出海地区的特性洞察、玩法解决方案、技…

BGP过滤(社团属性过滤器、AS路径过滤器)

通过路由策略来过滤 [r2]ip ip-prefix aa permit 172.16.1.0 24 [r2]route-policy aa deny node 10 [r2-route-policy]if-match ip-prefix aa [r2]route-policy aa permit node 20 [r2]bgp 200 [r2-bgp]peer 10.1.23.3 route-policy aa export 前缀列表进行过滤 [r3]ip ip-pref…

新手使用Python开发游戏pygame入门很合适-02

前面一篇博文&#xff0c;我们让飞机动起来了&#xff0c;但不是那么完美&#xff0c;我们继续来完善我们的游戏代码&#xff0c;本篇博文主要介绍获取按键的方式已经飞行速度的控制。 文章目录一、获取按键的三种方式1、通过event.get配合pygame.key枚举2、通过event.get配合o…

本地测试Segment Anything

一、下载GitHub代码 官网地址&#xff1a; https://github.com/facebookresearch/segment-anything git clone 或者 下载ZIP压缩包 二、下载.pth文件 官网中给出了三个训练好的参数文件 点击下载&#xff0c;我这里下载了最后一个358M大小的模型&#xff08;这里可以使用迅…

apache 配置与应用以及网页优化

Apache 配置与应用 --------构建虚拟 Web 主机-------- 虚拟Web主机指的是在同一台服务器中运行多个Web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为“虚拟”Web 主机。 通过虚拟 Web 主机服务可以充分利用服务器的硬件资源&#xff0c…

49.现有移动端开源框架及其特点—MACE( Mobile AI Compute Engine)

Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算设备优化的深度学习前向预测框架 MACE覆盖了常见的移动端计算设备(CPU,GPU和DSP),并且提供了完整的工具链和文档,用户借助MACE能够很方便地在移动端部署深度学习模型MACE已经在小米内部广泛使用并且被充分验证具…

答疑——20年国赛题(JAVA解法)

题目链接&#xff1a;用户登录https://www.lanqiao.cn/problems/1025/learning/?page3&first_category_id1&sortstudents_count 题目描述 有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。 老师可以安排答疑的顺序&#xff0c;同学们要依次进入老…

SQL笔记(1)——MySQL创建数据库(收藏吃灰版)

本文详细记录MySQL创建一个数据库的过程&#xff0c;不只是构建步骤&#xff0c;更多的是每一步涉及到的知识点。一般创建数据库有两种方式&#xff0c;一种是命令&#xff0c;另外一种就是通过数据库管理工具&#xff0c;本文主要记录通过命令的方式创建&#xff1b; 后面的学…

Centos7升级make和gcc版本到最新

Background 遇到如下的问题可能就是你make和gcc的版本过低了&#xff0c;需要升级。 *** These critical programs are missing or too old: make compiler *** Check the INSTALL file for required versions. 1、更新make版本 下载最新版本 【make最新安装包下载地址】 #…

VuePress1.x使用及个人博客搭建

文章目录介绍快速开始安装目录页面配置介绍 VuePress 由两部分组成&#xff1a;一个以 Vue 驱动的主题系统的简约静态网站生成工具&#xff0c;和一个为编写技术文档而优化的默认主题。它是为了支持 Vue 子项目的文档需求而创建的。 快速开始 安装 首先需要安装Node.js &…

ASM字节码处理工具原理及实践(一)

1. ASM简介 我们知道程序的分析。生成和转换是很有用的技术&#xff0c;可以用于很多场景。ASM作为一个Java字节码处理工具&#xff0c;它被设计用于处理已编译的Java类。ASM不是生成和转变已编译的Java类的唯一工具&#xff0c;但它是最新且最有效的工具之一。特点是体积小&a…

一个实现跳转到更多页面的黏性交互的通用组件

本文字数&#xff1a;3344字预计阅读时间&#xff1a;9分钟背景和现状随着移动互联网的快速发展&#xff0c;通信费用大幅降低&#xff0c;信息爆炸&#xff0c;应用软件展示的信息越来越来&#xff0c;为了有效地组织和展示信息&#xff0c;各大移动平台都提供了列表滚动组件方…

No.038<软考>《(高项)备考大全》【第22章】信息安全管理

【第22章】信息安全管理1 考试相关2 信息安全管理2.1 安全策略2.2 信息系统安全等级保护2.3 安全的概念适度安全的观点&#xff1a;木桶效应的观点&#xff1a;2.4 安全策略设计2.5 信息安全系统工程能力成熟度模型ISSE-CMM2.6数字证书护照和签证2.7访问控制授权方案2.8 安全审…

评估数据质量的指标总结1

评估数据质量的指标总结1 1、RMSE&#xff08;root mean square error&#xff09;均方根误差 作用&#xff1a;RMSE是估计的度量值与“真实”值之间的距离的度量。 计算方法&#xff1a; 2、相关系数r(coefficient of correlation ) 作用&#xff1a;皮尔逊相关系数&#xff…

LeetCode算法小抄--二叉树的各种构造

LeetCode算法小抄--各种情况的构造二叉树构造二叉树构造最大二叉树[654. 最大二叉树](https://leetcode.cn/problems/maximum-binary-tree/)从前序与中序遍历构造二叉树[105. 从前序与中序遍历序列构造二叉树](https://leetcode.cn/problems/construct-binary-tree-from-preord…

Unity和UE有啥区别?哪个更适合游戏开发

游戏制作软件中最著名的两个游戏引擎是 Unity 和 Unreal Engine。从独立游戏到大型工作室&#xff0c;许多游戏开发商都在使用它们。如果你打算从事游戏行业工作&#xff0c;你肯定曾经问过自己“我的游戏应该使用 Unity 还是 Unreal Engine&#xff1f;” ” 让我们来了解和比…