Перегрузка операторов - C# (181027)
Формулировка задачи:
Дошел до изучения перегрузки. Может решит кто-нибудь? Класс — одномерный массив. Дополнительно перегрузить следующую операцию != — проверка на неравенство массивов.
У меня есть такая же программа, но только со сложением массивов.
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace peregruzka
- {
- class MyArr
- {
- // Координаты точки в трехмерном пространстве
- public int[] a;
- public MyArr(int[]a)
- {
- this.a = a;
- }
- public MyArr()
- {
- a = new int[5];
- }
- // Перегружаем бинарный оператор +
- public static MyArr operator +(MyArr obj1, MyArr obj2)
- {
- MyArr arr = new MyArr();
- for (int i=0;i<5; i++)
- {
- arr.a[i] = obj1.a[i] + obj2.a[i];
- }
- return arr;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- int[] a = new int[5];
- int[] b = new int[5];
- Random rnd = new Random();
- for (int i = 0; i<5; i++)
- {
- a[i] = rnd.Next(1, 10);
- b[i] = rnd.Next(10, 20);
- }
- Console.Write("Массив B: ");
- for (int i = 0; i < 5; i++)
- {
- Console.Write( a[i] + " ");
- }
- Console.WriteLine();
- Console.Write("Массив B: ");
- for (int i = 0; i < 5; i++)
- {
- Console.Write( b[i] + " ");
- }
- Console.WriteLine();
- MyArr Point1 = new MyArr(a);
- MyArr Point2 = new MyArr(b);
- MyArr Point3 = Point1 + Point2;
- for (int i = 0; i < 5; i++)
- {
- Console.Write(Point3.a[i] + " ");
- }
- Console.ReadLine();
- }
- }
- }
Решение задачи: «Перегрузка операторов»
textual
Листинг программы
- var isEquals = true;
- for (var i = 0; i< arr1.Length; i++)
- isEqueals = isEquals && (arr1[i] == arr2[i])
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д