首页 > 其他分享 >4月26日

4月26日

时间:2023-04-26 18:55:37浏览次数:36  
标签:26 int double number Complex modulus 分母

请定义一个分数类,拥有两个整数的私有数据成员,分别表示分子和分母(分母永远为正数,符号通过分子表示)。
重载运算符加号"+",实现两个分数的相加,所得结果必须是最简分数。

输入:

第一行的两个数 分别表示 第一个分数的分子和分母(分母不为0)。 第二行的两个数 分别表示 第二个分数的分子和分母。

输出:

第一个数表示分子,第二个数表示分母(若分数代表的是整数,则不输出分母)。

输入样例:

1  5
2  5

 

输出样例:

3 5


#include <bits/stdc++.h>
using namespace std;
class number
{
    int fz,fm;
    friend number operator+(number &n1,number &n2);
    public:
    number(int a=0,int b=1)
    {
        fz=a;
        fm=b;
    }
    friend int gcd(int a,int b);
    friend int min_gb(number &n1,number &n2);
    int show()
    {
        cout<<fz;
        if(fm!=1) cout<<" "<<fm;
            //这里要注意空格和fz一起输出,如果分母为1,不需要输出空格,所以空格不能和fz一起输出
    }
};

int gcd(int a,int b)
{
    if(b==0) return a;
    else return gcd(b,a%b);
}

int min_gb(number &n1,number &n2)
{
    return n1.fm*n2.fm/gcd(n1.fm,n2.fm);
} 
 
number operator+(number &n1,number &n2)
{
    number nn;
    int a=min_gb(n1,n2);
    nn.fm=a;
    nn.fz=(a/n1.fm)*n1.fz+(a/n2.fm)*n2.fz;
    int b=gcd(nn.fz,nn.fm);
    if(b!=1)
    {
        nn.fz=nn.fz/b;
        nn.fm=nn.fm/b;
    }
    return nn; 
}

int main()
{
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    number num1(a,b);
    number num2(c,d);
    number num3;
    num3=num1+num2;
    num3.show();
}

题目描述:建立一个复数类,实数和虚数是其私有数据成员。建立一个>(大于号)的运算符重载,比较两个复数间模的大小。

输入格式:测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数字,前两个数字分别表示第一个复数的实部和虚部,第三个和第四个数字分别表示第二个复数的实部和虚部。每个数字之间用空格间隔。当读入一个测试用例是0 0 0 0时输入结束,相应的结果不要输出。

输出格式:对每个测试用例输出一行。当第一个复数的模大于第二个复数的模时,输出 true ,当第一个复数的模小于或等于第二个复数的模时,输出false

输入样例:

   3 5 4 0

   0 3 4 1

   0 0 0 0

输出样例:

   true

   false

#include<iostream>
#include<math.h>
using namespace std;
class Complex {
private:
double real;
double imag;

public:
Complex(double r = 0, double i = 0) {
real = r;
imag = i;
}
double modulus() {
double modulus;
modulus = sqrt(real *real + imag * imag);
return modulus;
}
bool friend operator>( Complex o,Complex p) {
double a = o.modulus();
double b = p.modulus();

if (a > b) {
return true;
}
else if (a <=b) {
return false;
}
}
};
int main() {
double a, b, c, d;

while(cin >> a >> b >> c >> d) {
if (a == 0 && b == 0 && c == 0 && d == 0)
break;

Complex p1(a, b);
Complex p2(c, d);
if (p1 > p2) {
cout << "true" << endl;
}
else {
cout << "false" << endl;

}
}
return 0;
}

标签:26,int,double,number,Complex,modulus,分母
From: https://www.cnblogs.com/kongxiangzeng/p/17356996.html

相关文章

  • 2023年4月26日周三
    计划完成毕设的修改学习angular框架知道接口怎么回事,尝试或明白一个接口怎么写执行09点43分  看完翻译,开始修改论文15点00分  增加了两个数据库表详情,完成了小芳的要求15点00分  看文档约束再改排版16点01分  改完17点04分  看看angular框架记录问题想......
  • 426测试代码
    sdf.h:点击查看sdf.h代码#ifndef_SDF_H#define_SDF_H//定义设备信息结构typedefstructDeviceInfo_st{unsignedcharIssuerName[40];//设备生产商名称unsignedcharDeviceName[16];unsignedcharDeviceSerial[16];unsignedintDeviceVersion;unsignedintStan......
  • P.25-设置资源所需权限、P.26-封装权限信息、P.27-RBAC权限模型
    P.25-设置资源所需权限SpringSecurity为我们提供了基于注解的权限控制方案,这也是我们项目中主要采用的方式。我们可以使用注解去指定访问对应的资源所需的权限。但是要使用它我们需要先开启相关配置springSecurity里面加。@EnableGlobalMethodSecurity(prePo......
  • AtCoder Regular Contest 126 D Pure Straight
    洛谷传送门AtCoder传送门很不错的状压。考虑先把最后作为答案的数聚到一起,再算它们的逆序对个数。设\(f_S\)为当前选的数集合为\(S\)的答案。有转移:选\(a_i\),答案加上之前选的比它大的数;不选\(a_i\),此时需要把左边的数或者右边的数往中间挪一个,答案加上左右两端的最......
  • 解决Python中报错RequestsDependencyWarning: urllib3 (1.26.9) or chardet (5.1.0)/c
      在运行requests包时,出现了以下报错信息:RequestsDependencyWarning:urllib3(1.26.9)orchardet(5.1.0)/charset_normalizer(2.0.12)doesn'tmatchasupportedversion!warnings.warn("urllib3({})orchardet({})/charset_normalizer({})doesn'tmatchasu......
  • 4.26打卡
    #include<iostream>#include<iomanip>#include<cmath>usingnamespacestd;constdoubleTINY_VALUE=1e-10;doubletsin(doublex){doubleg=0;doublet=x;intn=1;do{g+=t;n++;t=-t*x*x/(2*......
  • helper.js(20230426)
    //***************************************参数辅助对象***************************************///公共参数辅助对象varObjParameter={//获取url参数值//注意:参数值最好不用中文,会有编码问题//name:参数名称getQueryString:function(name){var......
  • 2023.04.26
    孟子谓宋勾践曰:“子好游乎?吾语子游。人知之,亦嚣嚣;人不知,亦嚣嚣。”曰:“何如斯可以嚣嚣矣?”曰:“尊德乐义,则可以嚣嚣矣。故士穷不失义,达不离道。穷不失义,故士得己焉;达不离道,故民不失望焉。古之人,得志,泽加于民;不得志,修身见于世。穷则独善其身,达则兼善天下。” ......
  • 力扣---2653. 滑动子数组的美丽值
    给你一个长度为n 的整数数组 nums ,请你求出每个长度为 k 的子数组的美丽值 。一个子数组的美丽值 定义为:如果子数组中第x 小整数 是负数 ,那么美丽值为第x 小的数,否则美丽值为0 。请你返回一个包含 n-k+1 个整数的数组,依次 表示数组中从第一个下标开始......
  • ABC267G Increasing K Times 题解
    做这道题,很有感悟,发篇文。先给数列从小到大排个序。接下来设\(f_{i,j}\)表示前\(i\)个数的排列形成\(j\)个上坡的方案数。接下来考虑转移,分为插入第\(i\)个数后增加上坡和不增加上坡两种情况。对于不增加的情况,有三种可能:第\(i\)个数插入在了数列的最前端,有\(1\)......