Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для FactorX
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 23

Инициализация массивов в конструкторе

06.11.2013, 22:51. Показов 1296. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Я делаю последнюю лабораторную и у меня ничего не получается. Возникает ошибка, что массив m1 не доступен из-за уровня его защиты... я пролистал код уже раз 50, не могу понять почему так происходит.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Лаб3зад3
{
    public class C1
    {
        int[,] m1;
        public C1()
        {
            Random rnd = new Random();
            int q = rnd.Next(1,2);
            if (q==1){ m1 = new int[3, 3];
                        for (int i = 0; i != 3; i++)
                        for (int j = 0; j != 3; j++)
                            m1[i, j] = i + j;
                        }
            else if(q== 2) {m1 = new int[2, 4];
                            for (int i = 0; i != 3; i++)
                            for (int j = 0; j != 3; j++)
                            m1[i, j] = i + j;
                            }
            }
        
        public C1(int x, int y)
        {
            //int[,] m1;
            m1 = new int[x, y];
        }
    }
 
    class Program
    {
        static public void Read(int[,] Massiv, byte x, byte y)
        {
            for (byte i = 0; i != x; i++)
                for (byte j = 0; j != y; j++)
                { Massiv[i, j] = Int16.Parse(Console.ReadLine()); }
        }
 
        static public void Print(int[,] Massiv)
        { foreach (int x in Massiv) Console.Write("\t{0}", x); }
 
        static void Main(string[] args)
        {
            byte a=0,b=0;
            Console.WriteLine("Эта программа создает два массива, выполненяет 4 функций и некоторые другие задачи.");
            Console.WriteLine("Выполняется конструктор 1.");
            C1 M1 = new C1();
            Print(M1.m1);
            //function 3 - find index
            //function 4 - sort
                Console.WriteLine("Переход ко второму конструктору ...");
                System.Threading.Thread.Sleep(3000);
                Console.WriteLine("Для создания массива требуется два аргумента. Введите через Enter 2 целочисленных десятичных числа:");
                try
                {
                    a = byte.Parse(Console.ReadLine());
                    b = byte.Parse(Console.ReadLine());
                }
                catch (FormatException)
                {
                    Console.WriteLine("Введено недопустимое значение. Программа закрывается...");
                    System.Threading.Thread.Sleep(3000);
                    Environment.Exit(1);
                }
                Console.WriteLine("Значения приняты. Память выделена для массива размером {0}x{1}.", a, b);
                C1 M2 = new C1(a,b);
                //Print(M2);
            //function 1 - enter values
            //function 2 - print values
            //function 3 - find index
            //function 4 - sort
            
            }            
        }
    }
Помогите разобраться, пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2013, 22:51
Ответы с готовыми решениями:

Инициализация переменной в конструкторе
Доброго времени суток всем софорумчанам. Нужно инициализировать переменную выбора в конструкторе. В двух словах о программе. Есть два...

Инициализация в конструкторе или теле класса ?
Вопрос я думаю достаточно нубский, но google не помог. например есть класс public class Point { public int X {get; set;} ...

Инициализация обнулённых массивов
Есть ли в С# аналогии инициализации массивов обнулёнными, как в С++, или в С# в принципе все массивы инициализируются обнулёнными? int...

1
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
06.11.2013, 23:20
Цитата Сообщение от FactorX Посмотреть сообщение
int[,] m1;
заменить на public int[,] m1
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2013, 23:20
Помогаю со студенческими работами здесь

Инициализация "рваных" массивов
Хочу чтобы массив "additionalMatrix" был отдельным массивом а не ссылкой на "matrix". То есть: double matrix = new double { new double...

Инициализация строковых массивов в конструкторе
Здравствуйте уважаемые гуру. Задачка: Нужно инициализировать массив char'ов (и пару int'ов) в конструкторе для объекта Х,а потом...

Инициализация char в конструкторе
class Abit { public: Abit(); ~Abit(); protected: private: bool medal;

инициализация перменных в конструкторе
у меня есть статический вектор векторов инт(vector<vector<int>>),который мне нужно заполнить данными,но при попытке написать ...

Инициализация указателей в конструкторе
Всем привет! Вот интересный вопрос. Написано, что до вызова тела конструктора создаются поля класса. Для пользовательских типов -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru