付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安徽蚌埠市某国企招聘会计1人笔试模拟试题及答案详解
- 2026年鸡西市恒山区恒山小学招聘临时聘用人员2人考试备考试题及答案详解
- 智能家居系统更新推送信7篇范文
- 人机协同在普惠金融中的实践探索
- 2026年西安医学院高层次人才招聘(一)笔试参考题库及答案详解
- 人工智能安全威胁分析
- 2026年蚌埠市怀远县公开竞聘省示范高中副校长3人笔试模拟试题及答案详解
- 2027届中地国际工程有限公司物资管理专员招聘2人考试备考试题及答案详解
- 样品寄送安排的通知信函(4篇)范文
- 2026年达州高新区增量政策性岗位招募10人笔试备考试题及答案详解
- 认识有机化合物课件2025-2026学年高一下学期化学人教版必修第二册
- 2026年河北唐山市高三一模高考英语试卷试题(含答案详解)
- 2026年医疗卫生招聘医学影像技师考核试题及答案
- UL94阻燃标准应用与对照详解
- 2025年新闻记者职业资格考试(新闻采编实务)历2025年真题与答案解析
- 鼻部手术患者睡眠护理
- 建筑工程安全操作规程汇编
- GB/T 12221-2025金属阀门结构长度
- 洗衣工厂岗位职责及管理手册
- 老宋教开车课件
- 2025年卫生高级职称面审答辩(卫生管理)历年参考题库含答案详解
评论
0/150
提交评论