第三题测试没问题,但一提交错误,有没有大佬能救救

#include <bits/stdc++.h>

using namespace std;

class coordinate {
    public:
    int x;
    int y;
    long int z;
    coordinate(int a, int b, int c):x(a),y(b),z(c) {};//构析
    coordinate() {};
    void m_gcd() {
        while (gcd(gcd(x,y), z) != 1) {
            x=x/gcd(gcd(x,y), z);
            y=y/gcd(gcd(x,y), z);
            z=z/gcd(gcd(x,y), z);
        };//化简用函数
    }
};

int main() {
    int n;
    long int h;
    cin >> n >>h;
    coordinate point[n];
    for (int i = 0; i < n; i++) {
        cin >> point[i].x >> point[i].y >> point[i].z;
    };//录入数据
    for (int i = 0; i < n; i++) {
        coordinate temp(point[i].x,point[i].y,2*h-point[i].z);//这是在水面上对应的点
        temp.m_gcd();//进行化简
        point[i]=temp;//方便输出,现在的point【i】实际上是指向的方向
    };
    for (int i = 0; i < n; i++) {
        cout << point[i].x << " " << point[i].y << " " << point[i].z <<" "<< endl;
    };
    return 0;
}

全部评论
1. 应该存储gcd计算的值,否则计算y和z的时候,x已经变了 2. 构造函数的第三个参数类型不对
点赞 回复 分享
发布于 2024-11-24 21:51 北京
不太能看懂你的代码,但是你这里是不是有点问题,前面x进行了修改之后,又把修改后的值拿来gcd,此时x已经改变了,y同理。这里最好先存一下xyz的值,用未修改的值来gcd。
点赞 回复 分享
发布于 2024-11-24 21:41 重庆

相关推荐

行云流水1971:你的简历已经有不错的内容基础,但在岗位匹配度、成果量化、逻辑分层上还有优化空间,我结合产品 / 金融科技类岗位偏好帮你调整: 一、现有问题 & 优化方向 信息冗余:课程 / 学生工作与目标岗位关联弱,可精简; 成果颗粒度不足:部分数据缺少 “对比基准”(比如 “效率提升” 没说之前的情况); 岗位标签弱:产品岗核心能力(如需求闭环、PRD 撰写)体现不够突出。 二、优化后简历(以 “金融科技产品岗” 为例) 教育经历 2023.09-2027.06 郑州轻工业大学(公办一本) | 软件工程 | 本科 核心课程:Java 程序设计、数据库原理、Python(匹配产品岗 “技术理解” 需求) 学习成果:专业核心课 90+,获校级一等奖学金; 学生工作:院学生会主席,统筹 6 场校级活动(覆盖 2000 + 人次),锻炼跨部门协作与项目统筹能力。 实习经历
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务