Описать класс Vector как вектор из пяти пар двузначных целых чисел - C#

Узнай цену своей работы

Формулировка задачи:

Описать класс Vector как вектор из 5 пар двузначных целых чисел. Определить оператор > и оператор += для комбинаций векторов(где сравнивается сумма каждой пары чисел) Определить конструктор с параметрами инициализации вектор и деструктор Создать из класса Vector два производных класса, для одного определить функцию STR, вовзращающую суммы пар чисел, входящих в вектор, для другого - Count, возвращающую среднее арифметическое всех элементов, входящих в вектор. Создайте обьекты этих классов и вызовите с ними STR и Count. Помогите пожалуйста. Если часть задания с производными классами я более менее понимаю как сделать то первую часть я понимаю слабо. Хотя бы с 1 частью помогите, про то как определить операторы для комбинаций векторов я даже не подозреваю сейчас. Заранее благодарен.

Решение задачи: «Описать класс Vector как вектор из пяти пар двузначных целых чисел»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication16
{
    
 
    //    public int[,] matr;
    //    public int m = 5;
    //    public int n = 2;
 
    //    public Vec5(int m, int n)
    //    {
    //        this.m = m;
    //        this.n = n;
 
    //        matr = new int[m, n];
    //        Random Rand = new Random();
    //        for (int i = 0; i < this.m; i++)
    //        {
    //            for (int j = 0; j < this.n; j++)
    //            {
    //                this.matr[i, j] = Rand.Next(10, 99);
    //            }
    //        }
    //    }
    //    public static bool operator > (Vec5 v1, Vec5 v2)
    //    {
    //        bool result = false;
    //        for (int i = 0; i < 5; i++)
    //            for (int j = 0; j < 2; j++)
    //            {
    //                if (v1[i, j] > v2[i,j])
    //                {
    //                    result = true;
    //                }
    //                else
    //                {
    //                    result = false;
    //                    break;
    //                }
    //            }
    //        return result;
    //    }
    //    public static bool operator < (Vec5 v1, Vec5 v2)
    //    {
    //        bool result = false;
    //        for (int i = 0; i < 5; i++)
    //            for (int j = 0; j < 2; j++)
    //            {
    //                if (v1[i, j] < v2[i, j])
    //                {
    //                    result = true;
    //                }
    //                else
    //                {
    //                    result = false;
    //                    break;
    //                }
    //            }
    //        return result;
    //    }
    //    public static Vec5 operator +(Vec5 v1, Vec5 v2)
    //    {
 
    //        for (int i = 0; i < 5; ++i)
    //        {
    //            for (int j = 0; j < 2; ++j)
    //            {
 
 
    //                v1.matr[i, j] = v1.matr[i, j] + v2.matr[i, j];
    //            }
    //        }
    //        return v1;
 
    //    }
    //    ~Vec5()
    //    {
 
    //    }
    //}
    //class Vec5_1 : Vec5
    //{
    //    public int[] STRmatr;
    //    public int STR(Vec5 v1)
    //    {
    //        STRmatr = new int[m];
    //        int j = 0;
    //        for (int i = 0; i < m; i++)
    //        {
    //            STRmatr[i] = v1[i, j] + v1[i, j + 1];
    //            return STRmatr[1];
 
    //        }
 
    //    }
    //}
    //class Vec5_2 : Vec5
    //{
    //    public int count(Vec5 v1)
    //    {
    //        int SrArf = 0;
    //        int Summ = 0;
    //        for (int i = 0; i < m; i++)
    //        {
    //            for (int j = 0; j < n; j++)
    //            {
    //                Summ += v1[i, j];
    //            }
    //        }
    //        SrArf = Summ / (n * m);
    //        return SrArf;
    //    }
    //}
 
 
    //class Program
    //{
    //    static void Main(string[] args)
    //    {
    //    }
    //}
    
    //<br>
 
    
        class Vec5
        {
            public int[,] A = new int[5,2];
            public int this[int i, int j]
            {
                get {
                    return A[i,j]; 
                }
                set
                {
                    if ((i < 5) &&(j<2))
                        A[i,j] = value;
                }
            }
 
            public static bool operator >(Vec5 V1, Vec5 V2)
            {
                bool result = false;
                for (int i = 0; i < 5; i++)
                {
                  for(int j=0;j<2;j++)
               {
                
                    if (V1[i,j] + V1[i,j+1] > V2[i,j] + V2[i,j+1])
                    {
                        result = true;
                        break;
                    }
                    else
                        result = false;
                }
                }
                return result;
            }
 
            public static bool operator <(Vec5 V1, Vec5 V2)
            {
                bool result = false;
                for (int i = 0; i < 5; i++)
                {
                for(int j=0;j<2;j++)
                   
                {
                    if (V1[i,j] + V1[i,j+1] < V2[i,j] + V2[i,j+1])
                    {
                        result = true;
                        break;
                    }
                    else
                        result = false;
                }
                }
                return result;
            }
 
            public static Vec5 operator +(Vec5 V1, Vec5 V2)
            {
                 int j=0;
                 for (j = 0; j < 2; j++)
                 {
                     for (int i = 0; i < 5; i++)
                     {
                         V1[1, j] = V1[i, j] + V2[i, j];
                     }
                 }
                return V1;
            }
 
          
 
            ~Vec5()
            {
            }
 
        }
        class Vec5_1 : Vec5
        {
            public int[] STRmatr;
            public int STR(Vec5 v1)
            {
                STRmatr = new int[5];
 
                for (int j = 0; j < 2; j++)
                {
                    for (int i = 0; i < 5; i++)
                    {
                        STRmatr[i] = v1[i, j] + v1[i, j + 1];
                        return STRmatr[1];
 
                    }
                }
 
            }
        }
        class Vec5_2 : Vec5
        {
            public int count(Vec5 v1)
            {
                int SrArf = 0;
                int Summ = 0;
                for (int i = 0; i < 5; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        Summ += v1[i, j];
                    }
                }
                SrArf = Summ /10;
                return SrArf;
            }
        }
 
        //class Vec6_1 : Vec5
        //{
        //    int summ = 0;
        //    public int STR()
        //    {
        //        for (int i = 0; i < 5; i++)
        //            if (A[i, j] != 0)
        //            {
        //                summ += A[i, j] / A[i, j];
        //            }
        //        return summ / 6;
        //    }
 
        //}
        //class Vec6_2 : Vec5
        //{
        //    public int Mult()
        //    {
        //        int Mult = 0;
        //        for (int i = 0; i < 6; i++)
 
        //            Mult *= A[i,j];
        //        return Mult;
        //    }
 
        //}
        class Program
        {
 
        static void Main(string[] args)
        {
            Vec5_1 v1 = new Vec5_1();
            v1.STR();
            Vec5_2 v2 = new Vec5_2();
            v2.count();
 
        }
 
 
    }
 
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы