實(shí)驗(yàn)報(bào)告第07次作業(yè)代碼_第1頁
實(shí)驗(yàn)報(bào)告第07次作業(yè)代碼_第2頁
實(shí)驗(yàn)報(bào)告第07次作業(yè)代碼_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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(索引不在合法范圍內(nèi)。); set if (i Length) valuesi = value; else throw new ArgumentException(索引不在合法范圍內(nèi)。); 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(索引不在合法范圍內(nèi)); set if (i Length) valuesi = value; calculated = false; else throw new ArgumentException(索引不在合法范圍內(nèi)); public CzVectorEx(uint length) : base(length) PreCalculate(); calculated = true; publ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論