using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab1 { class Komp { public double a; public double b; public Komp(double x, double p)//конструктор { a = x; b = p; } public void print() //метод вывода { string s = ""; if (b > 0) s = "+"; Console.WriteLine("Число = {0}{1}{2}i", a, s, b); } public double mod() //м модуль { return Math.Sqrt(a * a + b * b); } public void sop() //м сопреженное { a = a * (-1); b = b * (-1); } ///////////////////////// ++ //////////////////////////// public static Komp operator ++(Komp c) { Komp cnew = new Komp(c.a + 1, c.b + 1); // Перехватов Д. 09мос(у) return cnew; } ///////////////////////// - //////////////////////////// public static Komp operator - (Komp c) { Komp cnew = new Komp(c.a * (-1), c.b * (-1)); return cnew; } ///////////////////////// * //////////////////////////// public static Komp operator *(Komp c1,Komp c2) { Komp cnew = new Komp(((c1.a*c2.a)+(c1.b*c2.b*(-1))) ,((c1.a*c2.b)+(c1.b*c2.a))); return cnew; } public double X //свойство для обращения к полю x { get { return a; } set { a = value; } } public double Y //свойство для обращения к полю y { get { return b; } set { b = value; } } public double g//свойство только для чтения { get { if (a > 0 && b > 0) return 1; if (a > 0 && b < 0) return 2; if (a < 0 && b < 0) return 3; if (a < 0 && b > 0) return 4; return 0; } } } class Program { static void Main(string[] args) { Komp k = new Komp(2, 2); //вызов конструктора Komp k1 = new Komp(2, 2); k.print(); Console.WriteLine("Модуль = {0}", k.mod()); Console.WriteLine(" сопреженное "); Komp b = -k; b.print(); Console.WriteLine(" +1 "); Komp c = k++; //k.sop(); k.print(); Console.WriteLine(" * "); Komp d = k * k1; d.print(); k.X = 5; k.Y = 5; Console.WriteLine("Четверть = {0}", k.g); } } }
30 декабря 2009, 04:01