Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2017, 19:58   #1
iyoulka
 
Регистрация: 29.04.2016
Сообщений: 6
По умолчанию Какое свойство добавить в программу?

здравствуйте.не подскажите,какое свойство можно добавить в эту программу,пожалуйста?по заданию "свойства, позволяющие установить и получить значения полей класса с проверкой корректности ввода исходных значений ".Хочу ввести ограничение на размерность-больше 2,но не выходит.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace lab2
{
   class SArray
    {
 
        private int Array1;         
        
        public int array
        {
            get
            { return Array1;
            }
            set
            { 
                if (N >= 2 )
                { Array1 = N; }
                else
                    //генерация исключения      
                    throw new ArgumentOutOfRangeException();
            }            
 
        }
 
        class Array
    {
   
        int[] intArray; 
        int n; 
        public Array(int[] a, int b) 
        {
            intArray = a;
            n = b;
        }
 
       public void Vvod() 
       {
            Console.Write("Введите элементы массива:   ");
            for (int i = 0; i < n; i++)
            intArray[i] = int.Parse(Console.ReadLine()); 
        }   
        public void Print() 
        {
            Console.Write("Массив:   ");
            int count = 0; 
            for (int i = 0; i < n; i++)
            {
                Console.Write(intArray[i] + " "); 
                count++;
            }
            if (count == 0)
                Console.WriteLine("Массив пуст");
        }
  
        public void Sortirovka() 
        {
            Console.WriteLine();
            Console.WriteLine("Отсортированный массив:");
            for (int i = 0; i < n; i++) 
            {
                for (int j = 0; j < n - 1; j++) 
                {
                    if (intArray[j] > intArray[j + 1]) 
                    {
                        int z = intArray[j]; 
                        intArray[j] = intArray[j + 1]; 
                        intArray[j + 1] = z;  
                    }
                }
            }
        }
       
        public static Array operator ++(Array s) 
        {
            Console.WriteLine();
            Console.WriteLine("Перегрузка ++");
            for (int i = 0; i < s.n; i++)
                s.intArray[i] = s.intArray[i] + 1; 
            return s;
        }
        public static Array operator --(Array s) 
        {
            Console.WriteLine();
            Console.WriteLine("Перегрузка --");
            for (int i = 0; i < s.n; i++)
                s.intArray[i] = s.intArray[i] - 1;
            return s;
        }
        public static bool operator !(Array s)
        {
            Console.WriteLine();
            Console.WriteLine("Перегрузка !");
            for (int i = 0; i < s.intArray.Length - 1; i++)
            {
                if (s.intArray[i] > s.intArray[i + 1])
                {
                    return true;
                }
 
            }
            return false;
 
        }
        public static Array operator *(Array a, Array b)
        {
            Console.WriteLine("Перегрузка *");
 
            var res = new Array(new int[a.n], a.n);
            for (int i = 0; i < a.n; i++)
            {
                res.intArray[i] = a.intArray[i] * b.intArray[i];
            }
            return res;  
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            int N;
            
                Console.WriteLine("Введите размерность массива ");
                N = int.Parse(Console.ReadLine());
               
            int[] A = new int[N];
            Array massiv = new Array(A, N); 
            massiv.Vvod(); 
            massiv.Print();
            
            Array s = new Array(A, A.Length); 
            
            s.Sortirovka(); 
            s.Print(); 
            
            for (int i = 0; i < 1; i++) 
            {
                s++; 
                s.Print(); 
            }
            for (int i = 0; i < 1; i++) 
            {
                s--; 
                s.Print(); 
            }
 
            if (!s)
                Console.WriteLine("Массив не отсортирован");
            else
                Console.WriteLine("Массив отсортирован");
 
            s = s * s;
            s.Print();
            Console.ReadLine();
        }
    }
}
iyoulka вне форума Ответить с цитированием
Старый 20.04.2017, 10:57   #2
hoolygan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 64
По умолчанию

1. в свойствах есть локальная переменная value - она и работает на присвоение.
2. используется nested класс или скобка не закрыта?
3. если хотите меньше, чем 2 - зачем ставите знак больше?

В общем больше вопросов к вам, чем ответов от нас.
hoolygan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы при нажатии на кнопку менялось какое либо свойство объекта? kotbezusov JavaScript, Ajax 3 29.10.2016 14:50
Как сделать, чтобы при нажатии на кнопку менялось какое либо свойство объекта? kotbezusov HTML и CSS 1 28.10.2016 22:28
Какое свойство применить к div контейнеру чтобы он подстраивался под внутренние блоки? tesla07 HTML и CSS 2 09.02.2015 13:24
какое свойство? Станкевич Вадим Мультимедиа в Delphi 1 18.06.2010 23:50
Какое свойство отображает текущую дату у DateTimePicker subbota Компоненты Delphi 1 26.07.2009 16:32