Индексатор для проверки выхода массива за границы - C#

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

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

Помогите сделать индексатор, временно сделал просто catch, не могу разобраться. Правил программу по требованию в этой теме (может чего забыл, посмотрите пожалуйста)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Laba8
{
    class Work
    {
        static private int length;
        static private int begin;
        static private int theEnd;
        int[] Array;
 
        public int Length
        {
            get { return length; }
            set { length = value; }
        }
        public int Begin
        {
            get { return begin; }
            set { begin = value; }
        }
        public int TheEnd
        {
            get { return theEnd; }
            set { theEnd = value; }
        }
        public Work()
        {
            //констурктор без параметров
        }
        public Work(int length, int begin, int theEnd)
        {
            this.Length = length;
            this.Begin = begin;
            this.TheEnd = theEnd;
        }
 
        public void PrintAllArray(int[] Array, int Lenght, int Begin, int End)
        {
            Random R = new Random();
            for (int i = 0; i < Length; i++)
            {
                Array[i] = R.Next(Begin, TheEnd);
                Console.Write("{0} ", Array[i]);
            }
            Console.ReadLine();
        }
        static public void SumArray(int[] Array, int[] b, int x)
        {
            int[] Copy = new int[x];
            for (int i = 0; i < length; i++)
            {
                Copy[i] = Array[i] + b[i];
                Console.Write("{0} ", Copy[i]);
            }
        }
        static public void DiffArray(int[] Array, int[] b, int x)
        {
            int[] Copy = new int[x];
            for (int i = 0; i < length; i++)
            {
                Copy[i] = Array[i] - b[i];
                Console.Write("{0} ", Copy[i]);
            }
        }
        public void MultArrayOnScalar(int[] a, int temp, int x)
        {
            int[] Copy = new int[x];
            for (int i = 0; i < length; i++)
            {
                Copy[i] = a[i] * temp;
                Console.Write("{0} ", Copy[i]);
            }
        }
        public void DelArrayOnScalar(int[] a, int temp, int x)
        {
            double[] Copy = new double[x];
            for (int i = 0; i < length; i++)
            {
                Copy[i] = Convert.ToDouble(a[i]) / temp;
                Console.Write("{0} ", Copy[i]);
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Work one = new Work(10, -10, 3);
            Work two = new Work(6, -3, 5); 
 
            int[] One = new int[one.Length];
            int[] Two = new int[two.Length];
 
            Console.WriteLine("Первый массив:");
            one.PrintAllArray(One, one.Length, one.Begin, one.TheEnd);
            Console.WriteLine("Второй массив:");
            two.PrintAllArray(Two, two.Length, two.Begin, two.TheEnd);
            try
            {
                Console.Write("Индекс элемента = ");
                int i = Int32.Parse(Console.ReadLine());
                Console.WriteLine("One[{0}]={1}", i, One[i]);
            }
            catch (FormatException){ Console.WriteLine("Неверный формат"); }
            catch { Console.WriteLine("Выход за границы массива"); } // примитивная проверка на выход за границы

            Console.WriteLine("Поэлементная сумма:");
            Work.SumArray(One, Two, One.Length);
            Console.WriteLine();
            Console.WriteLine("Поэлементная разность:");
            Work.DiffArray(One, Two, One.Length);
            Console.WriteLine();
            Console.WriteLine("Уножение на скаляр:");
            one.MultArrayOnScalar(One, 2, One.Length);
            Console.WriteLine();
            Console.WriteLine("Деление на скаляр:");
            one.DelArrayOnScalar(One, 2, One.Length);
            Console.WriteLine();
        }
    }
}

Решение задачи: «Индексатор для проверки выхода массива за границы»

textual
Листинг программы
public int length
{
   get { return array.Length; }
}

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


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

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

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