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

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

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

Кто может подсказать что делаю не так , не получается задание Создать класс для работы с одномерным массивом целых чисел. Разработать следующие члены класса: 1. Поля: • Для хранения значений; 2. Конструкторы, позволяющие создать экземпляр класса: • с размерностью n; • с размерностью n и заданными данными. 3. Методы, позволяющие: • ввести элементы массива с клавиатуры; • вывести элементы массива на экран; • отсортировать элементы массива в порядке возрастания. 4. Свойство: • возвращающее размерность массива • позволяющее домножить все элементы массива на скаляр Индексатор, позволяющий по индексу обращаться к соответствующему элементу массива. 5. Перегрузку: • операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1; • операции !: возвращает значение true, если элементы массива не упорядочены по возрастанию, иначе false; • бинарные +-*/: o одновременно добавляет к значениям значение скаляра . o складывает значения при сложении одинаковых типов. • операции преобразования класса массив в одномерный массив (и наоборот). Продемонстрировать работу класса.
Листинг программы
  1. ///////////////////////
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Task_
  8. {
  9. public class MyArr
  10. {
  11. //модификаторы доступа!!
  12. int[] IntArray; //объявляем первое поле
  13. int n; //объявляем второе поле
  14. public MyArr(int[] a, int b) //создаем конструктор
  15. {
  16. IntArray = a;
  17. n = b;
  18. }
  19. public void Razmer() //создаем метод для заполнения массива и вывода его на экран
  20. {
  21. Console.WriteLine("Введите количество элементов массива");
  22. int n = int.Parse(Console.ReadLine());
  23. int[] Array = new int[n];
  24. Console.WriteLine("Введите элементы массива");
  25. for (int i = 0; i < n; i++)
  26. {
  27. Array[i] = int.Parse(Console.ReadLine());
  28. }
  29. }
  30. public void PrintToConsole() //создаем метод для вывода массива на экран
  31. {
  32. Console.Write("Массив: ");
  33. int count = 0; //создаем счетчик для проверки пустоты массива
  34. for (int i = 0; i < n; i++)
  35. {
  36. Console.Write(IntArray[i] + " "); //выводим массив
  37. count++;
  38. }
  39. if (count == 0)
  40. Console.WriteLine("Массив пуст");
  41. }
  42. public void readarray()// вводим элементы с клавиатуры
  43. {
  44. Console.WriteLine("Введите элементы:");
  45. for (int i = 0; i < IntArray.Length; i++)
  46. {
  47. Console.Write("intArray[{0}] = ", i); IntArray[i] = Convert.ToInt32(Console.ReadLine());
  48. //IntArray[i] = int.Parse(Console.ReadLine());
  49. }
  50. }
  51. public void printArray()//выводим элементы в порядке возрастания (доделаю )
  52. {
  53. Console.WriteLine("Вывод элементов:");
  54. for (int i = 0; i < IntArray.Length; i++)
  55. {
  56. Console.WriteLine("IntArray[{0}] = {1}; ", i, IntArray[i]);
  57. }
  58. }
  59.  
  60. public void Print1() //создаем метод для вывода массива на экран
  61. {
  62. Console.Write("Массив: ");
  63. int count = 0; //создаем счетчик для проверки пустоты массива
  64. for (int i = 0; i < n; i++)
  65. {
  66. Console.Write(IntArray[i] + " "); //выводим массив
  67. count++;
  68. }
  69. if (count == 0)
  70. Console.WriteLine("Массив пуст");
  71. }
  72. }
  73. }

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

textual
Листинг программы
  1.  public class MyArr
  2.     {
  3.         private int[] array;
  4.         private int length;
  5.         public MyArr(int length)
  6.         {
  7.  
  8.            
  9.             this.length = length > 0 ? length : 0;
  10.             array = new int[this.length];
  11.         }
  12.         public MyArr( params int[] list)
  13.         {
  14.             this.length = list.Length;
  15.             Array.Copy(list, array=new int[list.Length], list.Length);
  16.  
  17.         }
  18.  
  19.         public int MultiplyScalar
  20.         {
  21.             set
  22.             {
  23.                 for (int i = 0; i < length; i++)
  24.                     this.array[i] = this.array[i] * value;
  25.             }
  26.         }
  27.  
  28.         public int Length
  29.         {
  30.             get { return length; }
  31.         }
  32.         public int this[int index]
  33.         {
  34.             get
  35.             {
  36.                 if (index > length || index < 0)
  37.                     return 0;
  38.                 return array[index];
  39.             }
  40.         }
  41.  
  42.         public void Show()
  43.         {
  44.             if(length==0)
  45.                 Console.WriteLine("Масив пуст");
  46.  
  47.             for(int i=0;i<length;i++)
  48.                 Console.WriteLine(array[i]);
  49.         }
  50.         public void Add()
  51.         {
  52.             for (int i = 0; i < length; i++)
  53.             {
  54.                 int x = 0;
  55.                 Int32.TryParse(Console.ReadLine(),out x);
  56.                 array[i] = x;
  57.             }
  58.                  
  59.         }
  60.  
  61.         public void Sorts()
  62.         {
  63.             int temp;
  64.             for (int i = 0; i < array.Length - 1; i++)
  65.             {
  66.                 for (int j = i + 1; j < array.Length; j++)
  67.                 {
  68.                     if (array[i] > array[j])
  69.                     {
  70.                         temp = array[i];
  71.                         array[i] = array[j];
  72.                         array[j] = temp;
  73.                     }
  74.                 }
  75.             }
  76.  
  77.         }
  78.         public static MyArr operator ++(MyArr ar)
  79.         {
  80.             for (int i = 0; i < ar.length; i++)
  81.                 ar.array[i] = ar.array[i] + 1;
  82.             return ar;
  83.         }
  84.         public static MyArr operator --(MyArr ar)
  85.         {
  86.             for (int i = 0; i < ar.length; i++)
  87.                 ar.array[i] = ar.array[i] - 1;
  88.             return ar;
  89.         }
  90.  
  91.         public int[] ToArray()
  92.         {
  93.  
  94.             return array;
  95.         }
  96.  
  97.        
  98.     }

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы