static void PerformArithmeticOperation(double num1, double num2, Mathoperation arOperation) { Mathoperation objMA = new Mathoperation(arOperation); double res = objMA(num1, num2); Console.WriteLine("The result is:" + res); }
delegate double Mathoperation(double n1, double n2); // delegate declaration static void Main(string[] args) { char temp; do { int op; double n1, n2, res; ArthematicOperation objA = new ArthematicOperation(); // object creation Console.WriteLine("Enter the first number"); n1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter the second number"); n2 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("1-Addition \n2-Subtraction \n3-Multiplication \n4-Division \n5-Max number"); op = Convert.ToInt32(Console.ReadLine()); switch (op) { case 1: Mathoperation objMA = new Mathoperation(objA.Add); // creating object of delegate & passing class object as parameter // res = objMA(n1, n2); //passing values via delegate object res = objMA.Invoke(n1, n2); // 2nd method Console.WriteLine("The sum is:" + res); break; case 2: Mathoperation objMS = new Mathoperation(objA.Sub); //sub res = objMS(n1, n2); Console.WriteLine("The difference is:" + res); break; case 3: Mathoperation objMM = new Mathoperation(objA.Mul); // mul res = objMM(n1, n2); Console.WriteLine("The product is:" + res); break; case 4: Mathoperation objMD = new Mathoperation(objA.Div); // div res = objMD(n1, n2); Console.WriteLine("The result of division is:" + res); break; case 5: Mathoperation objMMa = new Mathoperation(objA.Max); // max res = objMMa(n1, n2); Console.WriteLine("The maximum number is:" + res); break; default: Console.WriteLine("Enter a valid option"); break; } Console.WriteLine("Enter y to continue "); temp = Convert.ToChar(Console.ReadLine()); } while (temp == 'y'); }
static void Main() { Console.WriteLine("Введите размеры множествa a"); int razm1 = int.Parse(Console.ReadLine()); Console.WriteLine("Введите размеры множествa b"); int razm2 = int.Parse(Console.ReadLine()); int[] Arr = new int[razm1]; int[] newArr = new int[razm2]; Console.WriteLine("Введите элементы множества 1"); for (int i = 0; i < razm1; i++) { Arr[i] = int.Parse(Console.ReadLine()); } Console.WriteLine("Введите элементы множества "); for (int i = 0; i < razm2; i++) { newArr[i] = int.Parse(Console.ReadLine()); } Set Array = new Set(Arr); Set NewArray = new Set(newArr); Set Massiv; if (Array < NewArray) { Console.WriteLine("Множества равны"); } else { Console.WriteLine("Множества не равны"); } if (Array > NewArray) { Console.WriteLine("Одно из множеств является подмножеством другого "); } else { Console.WriteLine("Ни одно из множеств не является подмножеством"); } if (Array * NewArray) { Console.WriteLine("У заданных множеств есть общие члены"); } else { Console.WriteLine("У заданных множеств нет общих членов"); } Console.WriteLine("Выберите номер множества , где будем производить удаление"); int mass = int.Parse(Console.ReadLine()); Console.WriteLine("Выберите номер члена множества который будем удалять"); int numb = int.Parse(Console.ReadLine()); if (mass == 1) { Massiv = Array; } else { Massiv = NewArray; } int[] d = Massiv - numb; Console.Write("Множество без удаленного члена: "); for (int i = 0; i < Massiv.data.Length - 1; i++) { Console.Write(d[i] + " "); } Console.WriteLine(); Set.Owner owner = new Set.Owner(4, "Valentin", "BSTU"); Console.WriteLine($"\nВладелец: ID: {owner.ID}, имя: {owner.Name}, " + $"организация: {owner.Organisation}"); Set.Date date = new Set.Date("10.10.2018"); Console.WriteLine($"Дата создания: {date.DateOfCreation}"); Console.WriteLine("Максимальное значение множества из которого удаляли элемент:" + Mathoperation.findmaxElement(d)); Console.WriteLine("Минимальное значение множества массива из которого удаляли элемент:" + Mathoperation.findminElement(d)); Console.WriteLine("Число элементов множества:" + Mathoperation.findkovlo(d)); Console.WriteLine("Введите строку в конец которой хотите добавить точку"); string str = Console.ReadLine(); str.dobavlenietocki(); Console.WriteLine("Все нули из множества удалены "); d.proverkananull(); }