Проверка векторов на равенство - C#
Формулировка задачи:
Даны 2 вектора.
Например (1 2 3) и (1 2 3)..
Нужен код который проверяет их на равенство,если равны то хорошо,а если нет то исключение..
Вот моя попытка.
как я понял нужно пройтись циклом по одному вектору,а потом сравнивать с 2-ым,но в коде я не так это выражаю.
1-ый Вариант
2–ой вариант
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class MyVect { int[] myvect; public MyVect() { myvect = null; } public MyVect(int[] v) { myvect = v; } public MyVect(int n) { myvect = new int[n]; for (int i = 0; i < n; i++) myvect[i] = i * i + 2; }
public static bool operator ==( myVect oper1,myVect oper2) { myVect op=new myVect(oper.myVect,Length) for (int i=0;i<oper1.myVect.Length;i++) if (oper[i]!=oper2[i]) throw new Exception("Длины векторов не совпадают") }
public static bool operator ==( myVect oper1,myVect oper2) { myVect op=new myVect(oper.myVect,Length) for (int i=0;i<oper1.myVect.Length;i++) if ((oper1.myVect[i]=='1')&&(oper2[i])=='1') return true else throw new Exception("Длины векторов не совпадают") }
Решение задачи: «Проверка векторов на равенство»
textual
Листинг программы
public static bool operator ==(myVect oper1, myVect oper2) { bool oper1Null = ReferenceEquals(oper1, null), oper2Null = ReferenceEquals(oper2, null); if (oper1Null || oper2Null) return oper1Null && oper2Null; if (ReferenceEquals(oper1, oper2)) return true; if (oper1.myvect.Length != oper2.myvect.Length) return false; for(int i = 0; i < oper1.myvect.Length; i++) if (oper1.myvect[i] != oper2.myvect[i]) return false; return true; } public static bool operator !=(myVect oper1, myVect oper2) { return !(oper1 == oper2); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д