Создания класса Vector - C#
Формулировка задачи:
Реализовать класс векторов, переопределив операции сложения и вычитания
Решение задачи: «Создания класса Vector»
textual
Листинг программы
class Program
{
class Vector
{
public Vector(double[] arr)
{
_arr = (double[])arr.Clone();
}
public int Length
{
get { return _arr.Length; }
}
public override string ToString()
{
return String.Join(" ", _arr);
}
public static Vector operator +(Vector op1, Vector op2)
{
if (op1.Length != op2.Length)
throw new ArgumentException();
double[] arr = new double[op1.Length];
for (int i = 0; i < op1.Length; ++i)
{
arr[i] = op1._arr[i] + op2._arr[i];
}
return new Vector(arr);
}
public static Vector operator -(Vector op1, Vector op2)
{
if (op1.Length != op2.Length)
throw new ArgumentException();
double[] arr = new double[op1.Length];
for (int i = 0; i < op1.Length; ++i)
{
arr[i] = op1._arr[i] - op2._arr[i];
}
return new Vector(arr);
}
double[] _arr;
}
static void Main(string[] args)
{
Vector v1 = new Vector(new double[] { 1, 2, 3 });
Vector v2 = new Vector(new double[] { 4, 5, 6 });
Vector vSum = v1 + v2;
Console.WriteLine(vSum);
Vector vDiff = v1 - v2;
Console.WriteLine(vDiff);
}
}