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

Создание многомерных массивов

15.03.2016, 12:55. Показов 712. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый, подскажите пожалуйста - раньше в си можно было сделать так:
C#
1
2
3
4
5
6
7
8
9
10
11
public struct MyStruct
    {
    int[] N = new N[30];
    }
 
MyStruct[] xx = new MyStruct[30];
 
 private void tabPage1_Click(object sender, EventArgs e)
        {
         xx[1].[1] = 10;
        }
- допустим так, это образ вложенного массива. Но теперь в microsoft visual c# посылает куда подальше, подскажет как можно переписать данный пример.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2016, 12:55
Ответы с готовыми решениями:

Приложение представляющее организацию многомерных вычислений многомерных массивов
Разработать приложение для Windows, представляющую организацию многомерных вычислений многомерных массивов. c#

Методы расширения многомерных и одномерных массивов
Лишь недавно заметил, что методы расширения LINQ для многомерных массивовint arr;куда скуднее, чем для массивов обычных.intЗаглянув в MSDN,...

Игра "сапер" с использованием многомерных массивов
Создать игру "сапер" с использованием многомерных массивов

6
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
15.03.2016, 12:58
Code
1
int[,] arr = new int[2,2];
0
3 / 3 / 1
Регистрация: 20.01.2015
Сообщений: 100
15.03.2016, 13:07  [ТС]
Цитата Сообщение от Sanya_sa Посмотреть сообщение
C#
1
int[,] arr = new int[2,2];
- это вы к чему?
ну думаю, что было немного понятней напишу так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public struct MyStruct
    {
    int[] x1 = new int[30];
    int[] x2 = new int[30];
    float[] x3 = new float[30];
    }
 
MyStruct[] xx = new MyStruct[30];
 
 private void tabPage1_Click(object sender, EventArgs e)
        {
         for(int i=1;i<=29;i++)
            {
                 for(int i2=1;i<=29;i++)
                {
                   xx[i].x1[i2] = i2;
                   xx[i].x2[i2] = i2*i2;
                   xx[i].x3[i2] = System.Math.Cos(i2*3.14/180.0);
                 }
            }
        }
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
15.03.2016, 13:30
war321,
Немного не так инициализируются массивы. Кроме того, в структурах нельзя их инициализировать вне конструктора.
Попробуйте так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
MyStruct[] xx = new MyStruct[30];
private void Form1_Load(object sender, EventArgs e)
{
    for (int i = 0; i < xx.Length; i++)
    {
        xx[i].x1 = new int[30];
        xx[i].x2 = new int[30];
    }
 
}
        
private void tabPage1_Click(object sender, EventArgs e)
{
    for (int i = 1; i <= 29; i++)
    {
        for (int i2 = 1; i <= 29; i++)
        {
            xx[i].x1[i2] = i2;
            xx[i].x2[i2] = i2 * i2;
        }
    }
}
Да и в структуре поля откройте:
C#
1
2
3
4
5
public struct MyStruct
{
    public int[] x1;
    public int[] x2;
}
Добавлено через 4 минуты
war321,
Кстати, почему бы не воспользоваться имеющимися в C# ступенчатыми массивами:
C#
1
2
3
4
5
6
int[][] mas = new int[30][];
for (int i=0; i<30; i++)
{
    mas[i] = new int[30];
}
mas[2][5] = 10;
1
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
15.03.2016, 13:35
Цитата Сообщение от war321 Посмотреть сообщение
- это вы к чему?
К тому что вот многомерный массив int[,] arr = new int[2,2];
но у Вас больше на зубчатый пошоже int[][] arr.
https://msdn.microsoft.com/ru-... dty7d.aspx
0
94 / 94 / 36
Регистрация: 01.10.2014
Сообщений: 229
15.03.2016, 13:38
Может для полей x1,x2 и x3 задать модификаторы public?
0
3 / 3 / 1
Регистрация: 20.01.2015
Сообщений: 100
15.03.2016, 13:40  [ТС]
Доцент - спасибо большое! прошло всё!
Если что пример оставлю тут:
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
namespace WindowsFormsApplication3
{
    public struct MyStruct
    {
        public int[] x1;
        public int[] x2;
        public double[] x3;
    }
 
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            MyStruct[] xx = new MyStruct[30];
            for (int i = 0; i <= 29; i++)
            {
                xx[i].x1 = new int[30];
                xx[i].x2 = new int[30];
                xx[i].x3 = new double[30];
            }
 
            for (int i = 1; i <= 29; i++)
            {
                for (int i2 = 1; i2 <= 29; i2++)
                {
                    xx[i].x1[i2] = i2;
                    xx[i].x2[i2] = i2 * i2;
                    xx[i].x3[i2] = System.Math.Cos(i2);
                }
            }
 
            for (int i = 1; i <= 29; i++)
            {
                for (int i2 = 1; i2 <= 29; i2++)
                {
                    textBox1.Text = textBox1.Text + System.Convert.ToString(xx[i].x3[i2]) +" ";                    
                }
                textBox1.Text = textBox1.Text + "\r\n";
            }
 
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.03.2016, 13:40
Помогаю со студенческими работами здесь

динамическое создание массивов
Доброе время суток. Дано: Существует двухмерный массив чисел MyArray. Цикл по порядку проверяет их значение. Как сделать...

Создание массивов в цикле
Можно ли создать N количества массивом с помощью цикла?

Создание n-го количества двумерных массивов
По заданию необходимо создать N двумерных массивов. В качестве N выступает количество элементов в списке типа List. То есть, если в списке...

Создание массиа из двух массивов
Пользователем вводятся два массива одинаковой длины, каждый из которых содержит символ 0 или 1. Составить третий массив, являющийся...

Создание и заполнение двумерных массивов
как нада сделатъ ето на Двухмерный массив? using System; using System.Collections.Generic; using System.Linq; using System.Text; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru