付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、01:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _01 class Program static void Main(string args) CzVector v1 = new CzVector(1,-5,9,6); CzVectorEx v2 = new CzVectorEx(0,1,2,3); Console.WriteLine(定义了CzVector类v1: + v1.ToString()
2、; Console.WriteLine(定义了CzVectorEx类v2: + v2.ToString(); Console.WriteLine(v1 + v2 = + (v1 + v2).ToString(); Console.Read(); public class CzVector protected double values; public uint Length get return (uint)values.Length; public double Sum get double sum = 0; for (int i = 0; i values.Length; i+) sum
3、+= valuesi; return sum; public double Prod get double prod = 1; for (int i = 0; i values.Length; i+) prod *= valuesi; return prod; public double InfiniteNorm get double result = Math.Abs(values0); for (uint i = 1; i result) result = Math.Abs(valuesi); return result; public double thisuint i get if (
4、i Length) return valuesi; else throw new ArgumentException(索引不在合法范围内。); set if (i Length) valuesi = value; else throw new ArgumentException(索引不在合法范围内。); public CzVector(uint length) values = new doublelength; public CzVector(params double dArray) values = new doubledArray.Length; for (int i = 0; i d
5、Array.Length; i+) valuesi = dArrayi; public CzVector(CzVector v) values = new doublev.Length; for (uint i = 0; i v.Length; i+) valuesi = v.valuesi; public static CzVector operator +(CzVector v1, CzVector v2) if (v1.Length != v2.Length) return null; CzVector result = new CzVector(v1.Length); for (int
6、 i = 0; i v1.Length; i+) result.valuesi = v1.valuesi + v2.valuesi; return result; public static CzVector operator -(CzVector v1, CzVector v2) if (v1.Length != v2.Length) return null; CzVector result = new CzVector(v1.Length); for (int i = 0; i v1.Length; i+) result.valuesi = v1.valuesi - v2.valuesi;
7、 return result; public static CzVector operator -(CzVector v) for (int i = 0; i v.Length; i+) v.valuesi = -v.valuesi; return v; public static CzVector operator *(double a, CzVector v) CzVector result = new CzVector(v.Length); for (int i = 0; i v.Length; i+) result.valuesi = a * v.valuesi; return res
8、ult; public static CzVector operator *(CzVector v, double a) CzVector result = new CzVector(v.Length); for (int i = 0; i v.Length; i+) result.valuesi = a * v.valuesi; return result; public static double operator *(CzVector v1, CzVector v2) if (v1.Length != v2.Length) return 0; double result = 0; for
9、 (int i = 0; i v1.Length; i+) result += v1.valuesi * v2.valuesi; return result; public static bool operator =(CzVector v1, CzVector v2) if (v1.Length != v2.Length) return false; for (uint i = 0; i v1.Length; i+) if (v1.valuesi != v2.valuesi) return false; return true; public static bool operator !=(
10、CzVector v1, CzVector v2) return !(v1 = v2); public static implicit operator CzVector(double x) CzVector v = new CzVector(1); v.values0 = x; return v; public static explicit operator double(CzVector v) return v.values0; public void Output() Console.Write(); for (int i = 0; i Length; i+) Console.Writ
11、e(0, , valuesi); Console.WriteLine(bb); public override string ToString() string s = (; for (int i = 0; i Length; i+) if (i != Length - 1) s += valuesi + , ; else s += valuesi + ); return s; public class CzVectorEx : CzVector private double sum, prod; private bool calculated; public bool Calculated
12、get return calculated; public new double Sum get if (calculated) return sum; else return base.Sum; public new double Prod get if (calculated) return prod; else return base.Prod; public new double thisuint i get if (i Length) return valuesi; else throw new ArgumentException(索引不在合法范围内); set if (i Length) valuesi = value; calculated = false; else throw new ArgumentException(索引不在合法范围内); public CzVectorEx(uint length) : base(length) PreCalculate(); calculated = true; publ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/NHMJ 6-2021压铸模具的维护与管理
- 旅游业服务质量管理与顾客满意度调查手册
- 建筑工程施工员团队协作能力提升方案
- 建筑施工安全培训方案手册
- 教育机构教学督导教学满意度KPI考核表
- 冷链物流员岗前实操掌握考核试卷含答案
- 河南省平顶山市鲁山县第七教研区2026-2027学年八年级上学期9月阶段检测生物学试卷(含答案)
- 贸易数据申报师创新思维强化考核试卷含答案
- 绘图仪器制作工风险评估与管理测试考核试卷含答案
- 铜管乐器制作工诚信道德强化考核试卷含答案
- T/GDCA 034-2023化妆品用原料 红茶发酵产物
- 2026年全国行政执法人员执法资格考试必考题库与答案
- 2025年中国干粉砂浆市场调查研究报告
- 重庆数字资源集团招聘考试真题2025
- 城镇土地使用税房产税纳税申报表
- T∕CPCPA 0017-2026 托育机构婴幼儿回应性照护服务规范
- 2026云南保山电力股份有限公司校园招聘50人备考题库及参考答案详解1套
- 2025-2026学年苏教版(2024)小学科学一年级上册期末综合测试卷及答案
- 施工单位商务汇报体系
- Python程序设计基础及实践(慕课版 第2版)课件 郭炜 1. Python初探 -7. 组合数据类型(3)字典和集合
- 15189认可培训课件
评论
0/150
提交评论