Сделать данные вектора равными друг другу - 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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы