Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2018, 12:32   #1
Дмитрийййй
Пользователь
 
Регистрация: 07.09.2018
Сообщений: 26
По умолчанию [C#] Написать класс по работе с векторами в трехмерном пространстве. Подойдет ли код который ниже?

Написать класс по работе с векторами в трехмерном пространстве.
Подойдет ли код который ниже?
Код:
class Vector
{
    private double X;
    private double Y;
    private double Z;
 
    // конструктор без параметров 
    private Vector() {}
 
    //конструктор с параметрами
    public Vector(double x, double y, double z)
    {
        X = x;
        Y = y;
        Z = z;
    }
 
    //длина вектора
    public double GetLength()
    {
        return Math.Sqrt(X * X + Y * Y + Z * Z);
    }
 
    //операция сложения
    public static Vector operator +(Vector l, Vector r)
    {
        return new Vector(l.X + r.X, l.Y + r.Y, l.Z + r.Z);
    }
 
    //вычитание векторов
    public static Vector operator -(Vector l, Vector r)
    {
        return new Vector(l.X - r.X, l.Y - r.Y, l.Z - r.Z);
    }
 
    //вычисление скалярного произведения двух векторов
    public static double operator *(Vector l, Vector r)
    {
        return (l.X * r.X + l.Y * r.Y + l.Z * r.Z);
    }
 
    public static double Cos(Vector l, Vector r)
    {
        return (l * r) / (l.GetLength() * r.GetLength());
    }
 
    public override string ToString()
    {
        return string.Format("({0},{1},{2})", X, Y, Z);
    }
}
class Program
{
    static void Main(string[] args)
    {
        Vector v1 = new Vector(1, 2, 3);
        Vector v2 = new Vector(4, 5, 6);
        Vector v3 = v1 + v2;
        Vector v4 = v1 - v2;
        double m = v2 * v3;
        double c = Vector.Cos(v1, v2);
 
        Console.WriteLine(v1);
        Console.WriteLine(v2);
        Console.WriteLine(v3);
        Console.WriteLine(v4);
        Console.WriteLine(m);
        Console.WriteLine(c);
        Console.ReadKey();
 
    }
}
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 13.10.2018 в 12:37.
Дмитрийййй вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение в трехмерном пространстве evve Общие вопросы C/C++ 5 05.03.2016 07:59
График(и) в трехмерном пространстве attacker Qt и кроссплатформенное программирование С/С++ 1 26.12.2012 12:20
Изображение гиперболического параболоида в трехмерном пространстве SSlava Фриланс 8 06.12.2011 21:37
Пересечение отрезок в трехмерном пространстве. kir_rik Помощь студентам 0 25.05.2010 15:29
Нарисовать точку, движущуюся в трехмерном пространстве Goldmane Помощь студентам 5 12.04.2009 20:14