Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 13.10.2018, 13:32   #1
Дмитрийййй
Пользователь
 
Регистрация: 07.09.2018
Сообщений: 24
Репутация: 10
По умолчанию [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 в 13:37.
Дмитрийййй вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение в трехмерном пространстве evve Общие вопросы C/C++ 5 05.03.2016 08: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


00:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru