Класс для работы с одномерным массивом целых чисел. Что я делаю не так? - C#

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

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

Кто может подсказать что делаю не так , не получается задание Создать класс для работы с одномерным массивом целых чисел. Разработать следующие члены класса: 1. Поля: • Для хранения значений; 2. Конструкторы, позволяющие создать экземпляр класса: • с размерностью n; • с размерностью n и заданными данными. 3. Методы, позволяющие: • ввести элементы массива с клавиатуры; • вывести элементы массива на экран; • отсортировать элементы массива в порядке возрастания. 4. Свойство: • возвращающее размерность массива • позволяющее домножить все элементы массива на скаляр Индексатор, позволяющий по индексу обращаться к соответствующему элементу массива. 5. Перегрузку: • операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1; • операции !: возвращает значение true, если элементы массива не упорядочены по возрастанию, иначе false; • бинарные +-*/: o одновременно добавляет к значениям значение скаляра . o складывает значения при сложении одинаковых типов. • операции преобразования класса массив в одномерный массив (и наоборот). Продемонстрировать работу класса.
///////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Task_
{
    public class MyArr
    {
        //модификаторы доступа!!
        int[] IntArray; //объявляем первое поле    
        int n; //объявляем второе поле
 
        public MyArr(int[] a, int b) //создаем конструктор
        {
            IntArray = a;
            n = b;
        }
 
        public void Razmer() //создаем метод для  заполнения массива и вывода его на экран
        {
            Console.WriteLine("Введите количество элементов массива");
            int n = int.Parse(Console.ReadLine());
            int[] Array = new int[n];
 
            Console.WriteLine("Введите элементы массива");
            for (int i = 0; i < n; i++)
            {
                Array[i] = int.Parse(Console.ReadLine());
            }
        }
 
        public void PrintToConsole() //создаем метод для вывода массива на экран
        {
            Console.Write("Массив:   ");
            int count = 0; //создаем счетчик для проверки пустоты массива
            for (int i = 0; i < n; i++)
            {
                Console.Write(IntArray[i] + " "); //выводим массив
                count++;
            }
            if (count == 0)
                Console.WriteLine("Массив пуст");
        }
 
        public void readarray()// вводим элементы с клавиатуры
        {
            Console.WriteLine("Введите элементы:");
            for (int i = 0; i < IntArray.Length; i++)
            {
                Console.Write("intArray[{0}] = ", i); IntArray[i] = Convert.ToInt32(Console.ReadLine());
                //IntArray[i] = int.Parse(Console.ReadLine());
            }
        }
 
        public void printArray()//выводим элементы в порядке возрастания (доделаю ) 
        {
            Console.WriteLine("Вывод элементов:");
            for (int i = 0; i < IntArray.Length; i++)
            {
                Console.WriteLine("IntArray[{0}] = {1}; ", i, IntArray[i]);
            }
        }

        public void Print1() //создаем метод для вывода массива на экран
        {
            Console.Write("Массив:   ");
            int count = 0;  //создаем счетчик для проверки пустоты массива
            for (int i = 0; i < n; i++)
            {
                Console.Write(IntArray[i] + " "); //выводим массив
                count++;
            }
            if (count == 0)
                Console.WriteLine("Массив пуст");
        }
    }
}

Решение задачи: «Класс для работы с одномерным массивом целых чисел. Что я делаю не так?»

textual
Листинг программы
 public class MyArr
    {
        private int[] array;
        private int length;
        public MyArr(int length)
        {
 
            
            this.length = length > 0 ? length : 0;
            array = new int[this.length];
        }
        public MyArr( params int[] list)
        {
            this.length = list.Length;
            Array.Copy(list, array=new int[list.Length], list.Length);
 
        }
 
        public int MultiplyScalar
        {
            set
            {
                for (int i = 0; i < length; i++)
                    this.array[i] = this.array[i] * value;
            }
        }
 
        public int Length
        {
            get { return length; }
        }
        public int this[int index]
        {
            get
            {
                if (index > length || index < 0)
                    return 0;
                return array[index];
            }
        }
 
        public void Show()
        {
            if(length==0)
                Console.WriteLine("Масив пуст");
 
            for(int i=0;i<length;i++)
                Console.WriteLine(array[i]);
        }
        public void Add()
        {
            for (int i = 0; i < length; i++)
            {
                int x = 0;
                Int32.TryParse(Console.ReadLine(),out x);
                array[i] = x;
            }
                 
        }
 
        public void Sorts()
        {
            int temp;
            for (int i = 0; i < array.Length - 1; i++)
            {
                for (int j = i + 1; j < array.Length; j++)
                {
                    if (array[i] > array[j])
                    {
                        temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                    }
                }
            }
 
        }
        public static MyArr operator ++(MyArr ar)
        {
            for (int i = 0; i < ar.length; i++)
                ar.array[i] = ar.array[i] + 1;
            return ar;
        }
        public static MyArr operator --(MyArr ar)
        {
            for (int i = 0; i < ar.length; i++)
                ar.array[i] = ar.array[i] - 1;
            return ar;
        }
 
        public int[] ToArray()
        {
 
            return array;
        }
 
       
    }

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

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