Реализация класса "Вектор" для работы с массивом чисел - C#

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

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

Помогите решить задачу пожалуйста) Объявите класс "Вектор", полем которого является массив чисел, а методами: очистка вектора; добавление элемента в конец, добавление элемента в начало; добавление элемента в i-ю позицию; удаление i-го элемента; удаление элемента со значением n; вывода на экран значений вектора. Добавить свойства, позволяющие установить и считать значения первого и последнего элементов вектора.

Решение задачи: «Реализация класса "Вектор" для работы с массивом чисел»

textual
Листинг программы
using System;
using System.Collections.Generic;
 
namespace ConsoleApplication
{
    class Vector
    {
        public double[] array;
 
        /// <summary>
        /// Возвращает или задаёт значение первого элемента вектора
        /// </summary>
        public double First {
            set {
                array[0] = value;
            }
            get {
                return array[0];
            }
        }
 
        /// <summary>
        /// Возвращает или задаёт значение последнего элемента вектора
        /// </summary>
        public double Last {
            set {
                array[array.Length - 1] = value;
            }
            get {
                return array[array.Length - 1];
            }
        }
 
        /// <summary>
        /// Добавление элемента в конец
        /// </summary>
        public void AddToEnd(double a)
        {
            Array.Resize(ref array, array.Length + 1);
            array[array.Length - 1] = a;
        }
 
        /// <summary>
        /// Очистка массива
        /// </summary>
        public void Clear()
        {
            Array.Clear(array, 0, array.Length);
        }
 
        public double this[int index] {
            set {
                array[index] = value;
            }
            get {
                return array[index];
            }
        }
 
        /// <summary>
        /// Вывод элементов массива
        /// </summary>
        public void Dump()
        {
            for (int i = 0; i < array.Length; i++) {
                Console.WriteLine(array[i]);
            }
        }
 
        /// <summary>
        /// Удаление элемента с заданным значением из вектора
        /// </summary>
        public void RemoveByValue(double val)
        {
            for (int i = 0; i < array.Length; i++) {
                if (array[i] == val) {
                    int index = i;
                    double[] array2 = new double[array.Length - 1];
                    Array.Copy(array, array2, index);
                    Array.Copy(array, index + 1, array2, index, array.Length - index - 1);
                    array = array2;
                }
            }
        }
 
        /// <summary>
        /// Удаление элемента с заданным индексом из вектора
        /// </summary>
        public void RemoveByIndex(int index)
        {
            double[] array2 = new double[array.Length - 1];
            Array.Copy(array, array2, index);
            Array.Copy(array, index + 1, array2, index, array.Length - index - 1);
            array = array2;
        }
 
        /// <summary>
        /// Добавление элемента в начало списка
        /// </summary>
        public void AddToBegin(double a)
        {
            double[] array2 = new double[array.Length + 1];
            Array.Copy(array, 0, array2, 1, array.Length);
            array2[0] = a;
            array = array2;
        }
    }
 
    class Program
    {
        static void Main(string[] args) {
            
        }
    }
}

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


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

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

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