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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2012, 01:52   #1
BaronVik
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 36
Вопрос Размер массива

Добрый вечер уважаемые программисты. Составляю программу наткнулся на некторые сложности,прошу разьяснить.

PHP код:
namespace DDR
{
    class 
CMassiv
    
{
        private static 
int leng//Поле-размер массива
        
public int Leng   //Свойство для изменения закрытого поля
        
{
            
get { return leng; }  //Чтение
            
set leng value; } //Возвращаемое значение
        
}
        public 
CMassiv(int lengh//Конструктор(для размера массива)
        
{
            
leng lengh;        //Введённое значение с клав.запишется в leng
        
}
        
int[] mass = new int[leng]; //Cоздаём массив
        
public CMassiv() { } //Конструктор принимающий значение 0
        
public int this[int ind1]  //Индексатор
        
{
            
get { return mass[ind1]; }
            
set mass[ind1] = value; }
     }  
}

    class 
Program
    
{
        static 
void Main(string[] args)
        {
            
Console.WriteLine("Введите размер массива");
            
int num = new int();
            
num int.Parse(Console.ReadLine());
            
CMassiv Mass_1 = new CMassiv(num);  //Создаём обьект
            
for (int i 0Mass_1.Lengi++)
            {
                
Console.Write("Введите {0} элемент массива: "i);
                
Mass_1[i] = int.Parse(Console.ReadLine());
                
Console.WriteLine();
            }
        }
    }

Вопросы:
1)private static int leng; //Поле-размер массива
Обязательно ли это поле должно быть статическим? Обычный int leng компилятор не разрешает ставить в int[] mass = new int[leng]; //Cоздаём массив
2)Проблема с размером массива.
CMassiv Mass_1 = new CMassiv(num); //Создаём обьект
После этого программа идёт не в конструктор,а сразу создаёт массив. То есть сначала в int[] mass = new int[leng]; (leng пока равен 0 и следовательно массив получился с 0 элементами) ,а потом в индексатор public int this[int ind1] (тут он изменит leng на число). Что нужно переправить?
3)Можно ли вообще обойтись без индексатора (ввод размера и значений массива должны вводиться с клавиатуры)
4)public CMassiv() { } //Конструктор принимающий значение 0
Без этого конструктора программа не хочет работать. Почему?
Всем откликнувшимся заранее спасибо.
BaronVik вне форума Ответить с цитированием
Старый 05.01.2012, 10:08   #2
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

Сравните и все поймёте
Код:
class CMassiv
    {
        private int leng; //Поле-размер массива 
        public int Leng   //Свойство для изменения закрытого поля 
        {
            get { return leng; }  //Чтение 
            set { leng = value; } //Возвращаемое значение 
        }
        public CMassiv(int lengh) //Конструктор(для размера массива) 
        {
            leng = lengh;        //Введённое значение с клав.запишется в leng 
            mass = new int[leng];
        }
        int[] mass = null; //Cоздаём массив 

        public int this[int ind1]  //Индексатор 
        {
            get { return mass[ind1]; }
            set { mass[ind1] = value; }
        }
    }
Guy вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничения на размер массива? LOST94 Общие вопросы C/C++ 4 29.03.2010 09:50
Размер массива huzik Общие вопросы C/C++ 10 15.10.2009 18:15
Переменный размер массива Эйнж Общие вопросы C/C++ 14 27.03.2009 17:17
размер массива nosuchathing Общие вопросы C/C++ 6 15.01.2009 11:40
Размер массива в Delphi simple_Pro Помощь студентам 2 11.05.2008 09:15