Доброе утро!
Не могу разобраться почему сумма это удвоенный вектор хотя должна быть сумма и почему разность 0,скорее всего ошибка одинакова.И как сиправить ?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace oop
{
public class Vektor
{
public readonly double x, y, z;
public Vektor(double x, double y, double z)
{
this.x = x;
this.y = y;
this.z = z;
}
//summa
public Vektor Add(Vektor V)
{
return new Vektor(this.x + x, this.y + y, this.z + z);
}
//raznost
public Vektor Razn(Vektor V)
{
return new Vektor(x-this.x,y -this.y,z-this.z);
}
//dlina
public double Length()
{
return Math.Sqrt(x * x + y * y + z * z);
}
//skalarnoe proizvedenie
public double Skalar(Vektor V)
{
return x * this.x + y * this.y + z * this.z;
}
//umnozenie na skalar a
public double Uskalar()
{
double a = 1;
return a*x * this.x + a*y * this.y + a*z * this.z;
}
//sravnenie
public bool Equals(Vektor V)
{
if (!(V is Vektor))
{ return false; }
return base.Equals(V);
}
public override string ToString()
{
return $"{x} {y} {z}";
}
public class Demo
{
public static void Main()
{
Vektor A = new Vektor(10, 7, 9);
Vektor B = new Vektor(3, 5, 7);
Console.WriteLine("A vektor: x={0},y={1},z={2}", A.x, A.y, A.z);
Console.WriteLine("B vektor: x={0},y={1},z={2}", B.x, B.y, B.z);
Console.WriteLine($"Summa : {A.Add(B)}");
Console.WriteLine($"Raznost: {A.Razn(B)}");
Console.WriteLine($"The scalar *****: {A.Skalar(B)}");
Console.WriteLine("Dlina A : {0} ", A.Length());
Console.WriteLine("Dlina B : {0} ", B.Length());
Console.WriteLine($"Umnozenie na skalar-Vektor A: {A.Uskalar()}");
Console.WriteLine($"Umnozenie na skalar-Vektor B: {B.Uskalar()}");
Console.WriteLine($"Ravni li: {A.Equals(B)}");
Console.WriteLine("Press Enter...");
Console.ReadLine(); // Чтобы программа сразу не закрылась
}
}
}
}