Загрузка данных


using System;

public class Fraction
{
    public int Numerator { get; set; }
    public int Denominator { get; set; }

    public Fraction(int numerator, int denominator)
    {
        Numerator = numerator;
        Denominator = denominator;
    }

    // Сложение дробей
    public static Fraction operator +(Fraction a, Fraction b)
    {
        int commonDenominator = a.Denominator * b.Denominator;
        int numerator = (a.Numerator * b.Denominator) + (b.Numerator * a.Denominator);
        return new Fraction(numerator, commonDenominator);
    }

    // Умножение дробей
    public static Fraction operator *(Fraction a, Fraction b)
    {
        return new Fraction(a.Numerator * b.Numerator, a.Denominator * b.Denominator);
    }

    // Метод для красивого вывода дроби
    public override string ToString() => $"{Numerator}/{Denominator}";
}

class Program
{
    static void Main()
    {
        Fraction f1 = new Fraction(1, 2); // 1/2
        Fraction f2 = new Fraction(1, 3); // 1/3

        Fraction sum = f1 + f2;
        Fraction mult = f1 * f2;

        Console.WriteLine($"Дробь 1: {f1}");
        Console.WriteLine($"Дробь 2: {f2}");
        Console.WriteLine($"Результат сложения (+): {sum}"); // Ожидается 5/6
        Console.WriteLine($"Результат умножения (*): {mult}"); // Ожидается 1/6
    }
}



using System;

public class Point
{
    public int X { get; set; }
    public int Y { get; set; }

    public Point(int x, int y)
    {
        X = x;
        Y = y;
    }

    public static bool operator ==(Point a, Point b)
    {
        return a.X == b.X && a.Y == b.Y;
    }

    public static bool operator !=(Point a, Point b)
    {
        return !(a == b);
    }

    public override string ToString() => $"({X}, {Y})";
}

class Program
{
    static void Main()
    {
        Point p1 = new Point(10, 20);
        Point p2 = new Point(10, 20);
        Point p3 = new Point(5, 5);

        Console.WriteLine($"Точка 1: {p1}");
        Console.WriteLine($"Точка 2: {p2}");
        Console.WriteLine($"Точка 3: {p3}");

        Console.WriteLine($"Точка 1 == Точка 2: {p1 == p2}"); // True
        Console.WriteLine($"Точка 1 == Точка 3: {p1 == p3}"); // False
        Console.WriteLine($"Точка 1 != Точка 3: {p1 != p3}"); // True
    }
}




using System;

public class Vector
{
    public double X { get; set; }
    public double Y { get; set; }

    public Vector(double x, double y)
    {
        X = x;
        Y = y;
    }

    // Унарный оператор минус (инверсия вектора)
    public static Vector operator -(Vector a)
    {
        return new Vector(-a.X, -a.Y);
    }

    public override string ToString() => $"Vector(X: {X}, Y: {Y})";
}

class Program
{
    static void Main()
    {
        Vector v = new Vector(10.5, -7.2);
        
        // Применяем унарный минус
        Vector invertedV = -v;

        Console.WriteLine($"Исходный вектор: {v}");
        Console.WriteLine($"Инвертированный вектор (-): {invertedV}"); 
        // Ожидается X: -10.5, Y: 7.2
    }
}