Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/88: Рейтинг темы: голосов - 88, средняя оценка - 4.67
 Аватар для sashk0
72 / 72 / 7
Регистрация: 14.03.2012
Сообщений: 201

Добавить строку в двумерный массив

24.05.2012, 00:14. Показов 16692. Ответов 7
Метки нет (Все метки)

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

Вот что я делаю:

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
using System;
 
namespace Array
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Введите количество строк массива: ");
            int n = int.Parse(Console.ReadLine());
            Console.Write("Введите количество столбцов массива: ");
            int m = int.Parse(Console.ReadLine());
            int[,] array = new int[n, m];
 
            Random random = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    array[i, j] = Convert.ToInt32(random.Next(1, 10));
                }
            }
 
            Console.WriteLine("Массив размером {0} на {1}: ", n, m);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    Console.Write(array[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            
            //-----------------------------------------------------------------------
            int[,] array1 = new int[n + 1, m];
            for (int i = 0; i < n+1; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    array1[0, j] = Convert.ToInt32(random.Next(1, 10));
                    Console.Write(array1[i, j] + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2012, 00:14
Ответы с готовыми решениями:

Добавить строку/столбец в двумерный массив (Матрицу)
Уважаемые форумчане подскажите возможно ли добавить строку/столбец в двумерный не динамический массив на си или c++ ? P.S Если можно...

Добавить новую строку в двумерный динамический массив
Написал функцию добавления новой строки, но когда после этого хочу напечатать функций Print, программа падает... Количество строк я...

Нужно добавить в двумерный массив строку с заданным номером
Люди помогите. Нужно добавить в двумерный массив строку с заданным номером. Массив сформировала а как добавить строчку именно с номером...

7
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
24.05.2012, 09:01
C#
1
2
3
4
5
6
7
8
9
10
11
int[,] array1 = new int[n + 1, m];
for (int i = 0; i < n+1; i++)
{
    for (int j = 0; j < m; j++)
    {
         if(i==0) array1[i, j] = Convert.ToInt32(random.Next(1, 10));
         else array1[i, j] = array[i-1,j];
         Console.Write(array1[i, j] + " ");
     }
     Console.WriteLine();
}
1
 Аватар для sashk0
72 / 72 / 7
Регистрация: 14.03.2012
Сообщений: 201
24.05.2012, 09:19  [ТС]
buntar, У меня просто нет слов, я сидел ломал голову, но до этого только-только доходил. Огромнейшее спасибо!!!
0
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
28.01.2015, 19:00
А если нужно на место k строки, то как получиться?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
int k = int.Parse(Console.ReadLine());
            int[,] a2 = new int[n + 1, m];
            Random R = new Random();
            for (int i = 0; i < n + 1; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    if (i == k-1) a2[i, j] = R.Next(1, 10);
                    else a2[i, j] = a[i-1, j];
                    Console.Write("{0,3}", a2[i, j]);
                }
                Console.WriteLine();
            }
Если я k вбиваю 1, то всё норм, а если больше 2, то Индекс находился вне границ массива и указывает на else a2[i, j] = a[i-1, j];
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.01.2015, 19:05
В массив ничего нельзя вставить, они неизменяемого размера. Можно только создать новый, другого, скопировать туда элементы старого. Так и работает, например, Array.Resize<T>
0
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
28.01.2015, 19:07
Ну так у автора два массива.
У меня тоже предполагается 2.
Второй n+1.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.01.2015, 19:15
b0nny, ну просто у тебя если k не равно 1 он идет по нижнему пути и пытается достучаться по индеесу a[-1] и естественно вылетает
0
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
28.01.2015, 19:21
C#
1
else a2[i, j] = a[i - ((i < k - 1) ? 0 : 1), j];
И всё чётко.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2015, 19:21
Помогаю со студенческими работами здесь

Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером
Ребятаа,помогите пожалуйста хоть с чем-нибудь. 1.Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером. ...

Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером
1.Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером.Правила 4.4. На каждый вопрос создавайте по одной...

Сформировать двумерный динамический массив и добавить в него строку с заданным номером
2. Сформировать двумерный динамический массив. Добавить в него строку с заданным номером;

Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером
2. Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером.

Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером
Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером. Помогите пожалуйста)))


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru