0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 15

За каждой М-ой строчкой ступенчатой матрицы вставить её дубликат

18.02.2020, 18:28. Показов 1296. Ответов 4

Студворк — интернет-сервис помощи студентам
Есть ступенчатая матрица. Не могу понять, как добавить строчку после каждой нужной, получается только перезаписывать. Также проблема с дубликатом строки. Прошу помочь)

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
public int[][] MYYY(int m)
        {
            int raz = matrix.Length / m;
 
            int[] newLine = new int[matrix.Length]; // создаем в памяти новую строку 
            int[][] newMatrix = new int[matrix.Length + raz][]; //создание матрицы с новым количеством строк
 
            Console.WriteLine("dlina " + raz);
            Console.WriteLine("new razmer " + (matrix.Length + raz));
            Console.WriteLine();
            for (int i = 0; i < matrix.Length; i++)
            {
 
                if ((i != 0) && (i % m == 0))
                {
                    newMatrix[i] = newLine;
                }
                else
                {
                    newMatrix[i] = matrix[i];
                }
            }
 
            return newMatrix;
        }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2020, 18:28
Ответы с готовыми решениями:

Работать с каждой строчкой отдельно
Всем привет Вот как пример я выбираю текстовый файл OpenFileDialog Fille = new OpenFileDialog(); if...

В разреженной матрице перед последней строчкой, вставить строчку
В разреженной матрице перед последней строчкой, вставить строчку, у которой на первой и последней позиции будет ненулевой элемент!...

Вставить новую строку ниже строчкой места нахождения ячейки с курсором
Господа подскажите, как подправить этот макрос, что бы он вставлял новую строку ниже строчкой места нахождения ячейки с курсором, переносил...

4
 Аватар для Enifan
1849 / 1192 / 501
Регистрация: 14.10.2018
Сообщений: 3,226
18.02.2020, 18:57
Цитата Сообщение от mc_fly Посмотреть сообщение
только перезаписывать
длина массива неизменяема, потому и перезаписываем
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
using System;
 
class Program
{
    static void Main()
    {
        int[][] matrix =
        {
            new int[] { 0, 1 },
            new int[] { 2, 3, 4 },
            new int[] { 5, 6, 7, 8}
        };
 
        matrix = MYYY(1);
        foreach (var arr in matrix)
        {
            foreach (var num in arr)
                Console.Write(num + " ");
            Console.WriteLine();
        }  
 
        Console.ReadKey();
 
        int[][] MYYY(int m)
        {
            int[][] newArr = new int[matrix.Length + 1][];
            for (int i = 0, j = 0; i < matrix.Length; i++, j++)
            {
                newArr[j] = matrix[i];
                if (i == m)
                    newArr[++j] = matrix[i];
            }
            return newArr;
        }
    }
}
0
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 15
18.02.2020, 19:10  [ТС]
Как вставить за конкретной строчкой я понимаю, но как вставить за каждой 2ой например или за каждой 3ей. Например если за каждой второй, то дубликат строки вставляется за 2ой, 4ой, 6ой, 8ой и так далее строчкой.
То есть должно получиться (за каждой второй):

1 5 6 7
2 5 6 2
3 4 5 6
7 8 9 2 - исходная матрица

1 5 6 7
2 5 6 2
2 5 6 2
3 4 5 6
7 8 9 2
7 8 9 2 - измененная матрица

Дубликат строки вставился после 2ой и 4ой строчки
0
 Аватар для Enifan
1849 / 1192 / 501
Регистрация: 14.10.2018
Сообщений: 3,226
18.02.2020, 19:29
Лучший ответ Сообщение было отмечено mc_fly как решение

Решение

mc_fly,
C#
1
2
3
4
5
6
7
8
9
10
11
        int[][] MYYY(int m)
        {
            int[][] newArr = new int[matrix.Length + matrix.Length / m][];
            for (int i = 0, j = 0; i < matrix.Length; i++, j++)
            {
                newArr[j] = matrix[i];
                if ((i + 1) % m == 0)
                    newArr[++j] = matrix[i];
            }
            return newArr;
        }
1
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 15
18.02.2020, 19:51  [ТС]
Enifan, большое спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2020, 19:51
Помогаю со студенческими работами здесь

Вставить одномерный массив в двумерный первой строчкой, без потерь и удалений строк
Добрый вечер, участники форума. Недавно в универе начали изучать C#. В нём, к своему стыду, (надеюсь пока) я чайник, поэтому прошу помощи с...

За каждым элементом с заданным значением вставить его дубликат
За каждым элементом с заданным значением вставить его дубликат. Если вставка элементов невозможна,выдать об этом сообщение

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

Как обновить значения таблицы SQL Server так называемым методом "строчкой-за-строчкой"?
Здравствуйте, прошу совета, а лучше примера использования кода для взаимодействие VB.net с таблицей базы данных SQL Server. Суть...

Вставить после каждой четной строки матрицы ее первую строку
Доброй ночи! Помогите пожалуйста исправить код. Не могу найти ошибку. Он мне первую строку копирует вообще на все строки, но правильно...


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

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

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru