下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)節(jié)復(fù)工復(fù)產(chǎn)安全培訓(xùn)員工參與的重要性考核試卷
- 海水淡化處理的經(jīng)濟(jì)可行性研究考核試卷
- 新材料新技術(shù)應(yīng)對(duì)全球挑戰(zhàn)的利器考核試卷
- 橡膠制品行業(yè)食品接觸安全考核試卷
- 污水處理過程中的電力消耗與節(jié)能措施考核試卷
- 嵌入式系統(tǒng)設(shè)計(jì)師(基礎(chǔ)知識(shí)、應(yīng)用技術(shù))合卷軟件資格考試(中級(jí))試題及答案指導(dǎo)(2024年)
- 2024年農(nóng)林、畜牧用金屬工具項(xiàng)目規(guī)劃申請(qǐng)報(bào)告范文
- 2024年學(xué)生課外教育服務(wù)項(xiàng)目提案報(bào)告
- 2024-2030年中國生鮮電商行業(yè)發(fā)展策略分析及投資模式研究報(bào)告
- 2024-2030年中國煤粉篩項(xiàng)目可行性研究報(bào)告
- 《語言學(xué)綱要》修訂版課后練習(xí)題
- 甲狀腺癌術(shù)后并發(fā)癥護(hù)理
- 2022年《江蘇省機(jī)動(dòng)車維修費(fèi)用結(jié)算清單》格式
- 數(shù)字媒體技術(shù)專業(yè)群建設(shè)方案
- 機(jī)械畢業(yè)設(shè)計(jì)(PLC的恒溫箱控制系統(tǒng)設(shè)計(jì))
- 簡述火力發(fā)電廠生產(chǎn)過程課件
- 砷環(huán)境地球化學(xué)研究進(jìn)展
- 06竣工財(cái)務(wù)決算審計(jì)工作底稿(試行)
- 化驗(yàn)室化學(xué)試劑分類清單(參考模板)
- 三教”統(tǒng)一、和諧發(fā)展促進(jìn)學(xué)生健康成長的有效方式
- 材料成型概論 第四章 擠壓成型
評(píng)論
0/150
提交評(píng)論