Проверка векторов на равенство - 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);
}