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
}
}