Сделать данные вектора равными друг другу - C#
Формулировка задачи:
Даны два вектора произвольной размерности, сложить вектора.
Как сделать эти вектора равными друг другу?
Делаю так, не получается, помогите, я совсем запуталась(
int N = 10;
int[] a = new int[N];
Random random = new Random();
int rand;
for (int i = 0; i < N; i++)
{
rand = random.Next(0, 10);
a[i] = rand;
}
var a11 = new List<int>();
int [] a = new int [] {1,56,3};
a11.Add(100);
a11.Add(123);
Console.WriteLine("проба:");
foreach (int i in a11)
Console.WriteLine("{0}", i);Решение задачи: «Сделать данные вектора равными друг другу»
textual
Листинг программы
using System;
namespace CA_9
{
class Vector
{
int x1, y1; //начало вектора
int x2, y2; //конец вектора
static Random rnd = new Random();
public Vector()
{
x1 = rnd.Next(100);
x2 = rnd.Next(100);
y1 = rnd.Next(100);
y2 = rnd.Next(100);
}
public Vector (int x1, int y1, int x2, int y2)
{
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public override string ToString()
{
return string.Format("[X1={0}, Y1={1}, X2={2}, Y2={3}]", x1, y1, x2, y2);
}
public static Vector operator + (Vector v1, Vector v2)
{
int moveX = v1.x2 - v2.x1;
int moveY = v1.y2 - v2.y1;
return new Vector(v1.x1, v1.y1, v2.x2 + moveX, v2.y2 + moveY);
}
public static Vector operator - (Vector v1, Vector v2)
{
int moveX = v1.x2 - v2.x2;
int moveY = v1.y2 - v2.y2;
return new Vector(v1.x1, v1.y1, v2.x1 + moveX, v2.y1 + moveY);
}
public static Vector operator * (Vector v1, int x)
{
if (v1.x2 == 0 || v1.y2 == 0)
return new Vector(v1.x1 * x, v1.y1 * x, v1.x2, v1.y2);
else return new Vector(v1.x1, v1.y1, v1.x2 * x, v1.y2 * x);
}
public static Vector operator * (int x, Vector v1)
{
return v1 * x;
}
}
class Program
{
static void Main(string[] args)
{
Vector a = new Vector(0, 0, 5, 5);
Vector b = new Vector(0, 0, 3, 3);
Console.WriteLine("Вектор а: {0}", a);
Console.WriteLine("Вектор b: {0}", b);
// Console.WriteLine("Вектор а + b: {0}",a + b);
// Console.WriteLine("Вектор а - b: {0}", a - b);
Console.Write("Введите X: ");
int x = int.Parse(Console.ReadLine());
Console.WriteLine("Вектор а - {0} * b: {1}", x, a - (x * b));
Console.ReadKey(true);
}
}
}