社区
C#
帖子详情
SOS请各位前辈帮帮帮小弟呀!!!(才学C++)
libobby
2006-04-22 07:08:05
怎么写一个关于复数的四则运算了 要用类 和模板 谢谢!!!!!
...全文
113
4
打赏
收藏
SOS请各位前辈帮帮帮小弟呀!!!(才学C++)
怎么写一个关于复数的四则运算了 要用类 和模板 谢谢!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
libobby
2006-04-22
打赏
举报
回复
谢谢 啦:)
zCheng
2006-04-22
打赏
举报
回复
给一个 c# 版的,自己转一下(语法很类似的),用模板替换掉 double 就可以了;属性可以用get 和 set 方法代替。运算符重载也可以用方法代替。
public struct Complex
{
/// <summary>
/// 表示零复数。
/// </summary>
public static readonly Complex Zero = new Complex(0.0, 0.0);
private double real;
private double imaginary;
/// <summary>
/// 获取或设置复数的实部。
/// </summary>
/// <value>表示复数的实部。</value>
public double Real
{
get { return real; }
set { real = value; }
}
/// <summary>
/// 获取或设置复数的虚部。
/// </summary>
/// <value>表示复数的虚部。</value>
public double Imaginary
{
get { return imaginary; }
set { imaginary = value; }
}
/// <summary>
/// 获取复数的模。
/// </summary>
/// <value>表示复数的模。</value>
public double Length
{
get { return Math.Sqrt(real * real + imaginary * imaginary); }
}
/// <summary>
/// 获取复数的幅角。
/// </summary>
/// <value>表示复数的幅角。</value>
public double Arc
{
get { return Math.Atan2(imaginary, real); }
}
/// <summary>
/// 判断该复数是否为实数。
/// </summary>
/// <value>表示该复数是否为实数。</value>
public bool IsReal
{
get { return imaginary == 0; }
}
/// <summary>
/// 判断该复数是否为纯虚数。
/// </summary>
/// <value>表示该复数是否为纯虚数。</value>
public bool IsPureImaginary
{
get { return real == 0; }
}
/// <summary>
/// 获取该复数的共轭复数。
/// </summary>
public Complex ConjugateComplex
{
get { return new Complex(real, -imaginary); }
}
/// <summary>
/// 初始化一个复数的新实例。
/// </summary>
/// <param name="real">复数的实部。</param>
/// <param name="imaginary">复数的虚部。</param>
public Complex(double real, double imaginary)
{
this.real = real;
this.imaginary = imaginary;
}
/// <summary>
/// 初始化一个复数的新实例。
/// </summary>
/// <param name="real">复数的实部。</param>
/// <param name="imaginary">复数的虚部。</param>
public Complex(int real, int imaginary)
{
this.real = real;
this.imaginary = imaginary;
}
/// <summary>
/// 求该复数本身。
/// </summary>
/// <param name="c">要求算的复数。</param>
/// <returns>该复数本身。</returns>
public static Complex operator +(Complex c)
{
return c;
}
/// <summary>
/// 求该复数的相反数。
/// </summary>
/// <param name="c">要求算的复数。</param>
/// <returns>给定复数的相反数。</returns>
public static Complex operator -(Complex c)
{
return new Complex(-c.real, -c.imaginary);
}
/// <summary>
/// 复数的加法运算。
/// </summary>
/// <param name="c1">第一个复数。</param>
/// <param name="c2">第二个复数。</param>
/// <returns>两个复数的和。</returns>
public static Complex operator +(Complex c1, Complex c2)
{
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}
/// <summary>
/// 复数的减法运算。
/// </summary>
/// <param name="c1">第一个复数。</param>
/// <param name="c2">第二个复数。</param>
/// <returns>两个复数的差。</returns>
public static Complex operator -(Complex c1, Complex c2)
{
return new Complex(c1.real - c2.real, c1.imaginary - c2.imaginary);
}
/// <summary>
/// 复数的乘法运算。
/// </summary>
/// <param name="c1">第一个复数。</param>
/// <param name="c2">第二个复数。</param>
/// <returns>两个复数的积。</returns>
public static Complex operator *(Complex c1, Complex c2)
{
return new Complex(c1.real * c2.real - c1.imaginary * c2.imaginary, c1.real * c2.imaginary + c1.imaginary * c2.real);
}
/// <summary>
/// 复数的除法运算。
/// </summary>
/// <param name="c1">第一个复数。</param>
/// <param name="c2">第二个复数。</param>
/// <returns>两个复数的商。</returns>
public static Complex operator /(Complex c1, Complex c2)
{
double m = c2.real * c2.real + c2.imaginary * c2.imaginary;
return new Complex((c1.real * c2.real + c1.imaginary * c2.imaginary) / m, (c1.real * c2.imaginary - c1.imaginary * c2.real) / m);
}
}
boci
2006-04-22
打赏
举报
回复
这儿是c#专区,不是c++.呵呵.
libobby
2006-04-22
打赏
举报
回复
怎么没有人帮忙呀:(
cplex/gurobi 中的
sos
约束
SOS
(special ordered sets,特殊顺序集)是指一组有序集合里,顶多有一个非零值(
SOS
1 型),或顶多有两个非零值(
SOS
2 型)。这类约束单独列出来,可以加快线性规划的求解速度。1 线性规划模型中使用大 M 表示的约束条件可以转化成
SOS
, 不过 cplex 或者 gurobi 一般都可以自动转化。 https://en.wikipedia.org/wiki/Spec...
文档服务器
sos
,Cliosoft
SOS
使用手册
SOS
使用手册
SOS
是Cliosoft针对集成电路设计现状,提出的于现有EDA工具无缝连接的一种解决方案,实现多时区直接设计数据协同设计,不同工程师之间数据协同工作,版本管理,版本控制,工作区管理,发布涉及版本数据等项目管理功能。使用
SOS
前需要将
sos
工具以及license进行load操作。无论是module或者其他load方式,需要在$PATH中出现
SOS
绝对路径,确保
sos
,
sos
admin...
sos
求助 !!!项目四
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:score.cpp * 作 者: 徐本锡 * 完成日期: 2013 年 03 月 09 日 * 版本号: v1
SOS
调试扩展 (
SOS
.dll)
SOS
调试扩展 (
SOS
.dll) 提供公共语言运行时(CLR)内部环境的有关信息,
帮
助你在WinDbg.exe调试器和Visual Studio中调试托管程序。![command] [options]命令 命令 描述
Android
SOS
功能模块开发
一、
sos
需求 1、在Settings列表项中添加一项
SOS
sos
设置入口界面 2、求救功能描述: 3.设置紧急号码:此选项用户可以从电话本中选择联系人添加到1-5个紧急号码中,在1-5列表中点击可以直接进入到系统电话本中去选择;也可以自己手动输入添加。 4、编辑紧急短信内容:紧急短信内容可以编辑,修改,删除 5,触发规则: (1)求救电话...
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章