Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 10
1

Создать динамический двумерный массив целых чисел

10.11.2015, 21:32. Показов 1976. Ответов 4
Метки нет (Все метки)

Помогите создать динамический двумерный массив целых чисел (матрица) Базовый класс с выводом массива на экран; очистки массива. Производный класс: динамический двумерный массив целых чисел с произвольными (включая и отрицательные) пределами.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2015, 21:32
Ответы с готовыми решениями:

Как создать двумерный динамический массив
Как создать двумерный массив на C# (размерность неизвестна, вычисляется в ходе работы программы) и...

Как создать двумерный динамический массив на указателях?
Имеется вот такой код, но если поставить **b выбивает ошибку; unsafe public static void smejn() ...

Создать двумерный динамический массив типа int
Как создать двумерный ДИНАМИЧЕСКИЙ массив типа int.

Как создать двумерный динамический массив или список?
как создать двумерный динамический массив или список?

4
112 / 112 / 64
Регистрация: 03.06.2013
Сообщений: 584
10.11.2015, 23:05 2
Класс который создает динамический 2х-массив. Если я правильно задание понял.
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
 class DynamicArray
    {
        private int[,] doubleArray = new int[200,200];
        public int Rows { get; set; }
        public int Columns { get; set; }
 
        public DynamicArray()
        {
            Rows = -1;
            Columns = -1;
        }
        public object this[int row, int column]
        {
            get
            {
                    return doubleArray[row,column];
            }
            set
            {
                if(Rows < row)
                     Rows = row;
                if(Columns < column)
                     Columns = column;
                doubleArray[row,column] = (int)value;
            }
        }
        public void Print()
        {
            Console.WriteLine("****Matrix****");
            for (int i = 0; i <= Rows; i++)
            {
                for (int j = 0; j <= Columns; j++)
                    Console.Write(" " + doubleArray[i, j]);
                Console.WriteLine();
            }
        }
        public void Clear()
        {
            for (int i = 0; i <= Rows; i++)
                for (int j = 0; j <= Columns; j++)
                    doubleArray[i, j] = 0;
        }
    }
1
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 10
10.11.2015, 23:05  [ТС] 3
Помогите создать динамический двумерный массив целых чисел (матрица) Базовый класс с выводом массива на экран; очистки массива. Производный класс: динамический двумерный массив целых чисел с произвольными (включая и отрицательные) пределами.

Я сначала создал
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
    class Program
    {
        public static void Main(string[] args)
        {
        int x = Convert.ToInt32(Console.ReadLine());
        int y = Convert.ToInt32(Console.ReadLine());
        double[,] array = new double[x, y];
        
        for(int i = 0;i < x;++i){
            for(int j = 0;j < y;++j){
                int xx=Convert.ToInt32(Console.ReadLine());
            }   
        }
        
        for(int i = 0;i < x;++i)
        {
            for(int j = 0;j < y;++j)
            {
                Console.Write(string.Format("{0} ", array[i, j]));
            }
            Console.Write(Environment.NewLine);
        }
            Console.Write("Press any key to continue . . . ");
        }
}
А потом попробовал зделать с производным классом но значения матрицы сразу же берьотца от наследственого класа а не от базового

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
80
81
82
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Enter x: ");
            int x = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Enter y: ");
            int y = Convert.ToInt32(Console.ReadLine());
            Array_son test=new Array_son();
            test.CreateArray(x,y);
            test.PrintArray(x,y);
            test.ClearArray(x,y);
            
            Console.Write("Press any key to continue . . . ");
            Console.ReadLine();
        }
    }
    public class Array{
        public double[,] array = new double[0, 0];
        protected int x {set;get;}
        protected int y {set;get;}
        
        public double[,] CreateArray(int x, int y){
            array = new double[x,y];
            for(int i = 0;i < x;++i){
            for(int j = 0;j < y;++j){
                int xx=Convert.ToInt32(Console.ReadLine());
                if (xx<0)
                {
                    Console.WriteLine("Negative numbers");
                    System.Environment.Exit(0);
                }
                else
                {
                    array[i, j] = xx;
                }
            }   
        }
            return array;
        }
        
        public void PrintArray(int x,int y){
            Console.WriteLine("Array (x,y): ");
            for(int i = 0;i < x;++i)
        {
            for(int j = 0;j < y;++j)
            {
                Console.Write(string.Format("{0} ", array[i, j]));
            }
            Console.Write(Environment.NewLine);
            
        }
        }
        public void ClearArray(int x,int y){
            Console.WriteLine("Clear array: ");
            for(int i = 0;i < x;++i)
        {
            for(int j = 0;j < y;++j)
            {
                array[i, j] =0;
                Console.Write(string.Format("{0} ", array[i, j]));
            }
            Console.Write(Environment.NewLine);
            }
        }
    }
    
    public class Array_son:Array{
            public double[,] CreateArray(int x, int y){
            array = new double[x,y];
            for(int i = 0;i < x;++i){
            for(int j = 0;j < y;++j){
                int xx=Convert.ToInt32(Console.ReadLine());
                array[i, j] = xx;
                }
            }   
            return array;
        }
            
    }
}
0
112 / 112 / 64
Регистрация: 03.06.2013
Сообщений: 584
10.11.2015, 23:13 4
Динамический, это значит что его размер устанавливается исходя из заполнения. А если кол-во строк и столбцов фиксировано, тогда это статический или детерминированный.
0
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 10
10.11.2015, 23:19  [ТС] 5
C#
1
2
3
4
Console.WriteLine("Enter x: ");
            int x = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Enter y: ");
            int y = Convert.ToInt32(Console.ReadLine());
Тот костиль который я создал там я задаю каждый раз размер матрыцы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2015, 23:19

Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив
Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив, каждый элемент...

Пользователем вводится двумерный массив целых чисел
Здравствуйте , уважаемые пользователи форума , помогите решить задачу, сделал через рандом , а...

Создать, инициализировать массив из 8 целых целых чисел
Создать, инициализировать массив из 8 целых чисел в промежутке ( 0..15 ) , найти их сумму и...

Вставить в двумерный массив целых чисел строку/столбец
Дан двумерный массив целых чисел. Вставить в него: строку из нулей перед всеми строками, в которых...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.