|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 112
|
|
Как удалить столбцы16.04.2013, 22:57. Показов 2711. Ответов 14
Метки нет (Все метки)
Нужна программа , которая удаляет столбцы из двумерного массива , запрашивая номер столбца по одному.
0
|
|
| 16.04.2013, 22:57 | |
|
Ответы с готовыми решениями:
14
Как сравнить столбцы динамического двумерного массива и удалить второй одинаковый?
Как удалить столбцы в текстовом файле. |
|
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
|
||||||
| 16.04.2013, 23:38 | ||||||
|
Для таких целей как раз подходит структура данных под названием "список".
Вот пример с "двумерным" массивом. Работает по принципу: 1) создать новый указатель на массив на один элемент меньше; 2) скопировать все элементы кроме заданного; 3) освободить память под текущую строку и присоединить новую:
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 112
|
|
| 22.04.2013, 09:36 [ТС] | |
|
Как удалить столбцы в динамическом массиве, при удалении номера столбцов запрашивать по одному
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 22.04.2013, 09:41 | |
|
А с какого он вообще состоит из столбцов?
0
|
|
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 112
|
|
| 22.04.2013, 11:41 [ТС] | |
|
массив двумерный
0
|
|
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
| 22.04.2013, 12:24 | ||||||
0
|
||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|
| 22.04.2013, 12:54 | |
|
что значит динамическом: мы просто выделили память для всего массива? для каждой строки? для каждого столбца?
0
|
|
|
0 / 0 / 0
Регистрация: 25.03.2013
Сообщений: 112
|
|
| 23.04.2013, 12:05 [ТС] | |
|
да выделили память
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|||||||
| 23.04.2013, 14:06 | |||||||
0
|
|||||||
|
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 23.04.2013, 14:19 | |
|
1)Сдвинуть массив на один столбец влево, начиная со следующего столбца за удаляемым. Уменьшить количество столбцов на один.
2)Выделить память под новый массив, с количестом столбцов на один меньше. Скопировать туда старый массив, за исключением удаляемого столбца. Удалить старый массив.
0
|
|
|
|
|
| 23.04.2013, 14:27 | |
|
Из двумерного массива невозможно удалить столбец. Число столбцов указывается на этапе компиляции, поэтому, например, разница между адресами элементов a[1][0] a[0][0] всегда равна числу столбцов умноженному на размер элемента массива.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 23.04.2013, 14:36 | ||
|
0
|
||
|
|
||
| 23.04.2013, 15:02 | ||
|
Трудно что-то посоветовать, когда неизвестно, какие средства языка ТС уже может использовать, а какие они еще не проходили.
В двумерном массиве адрес элемента a[i][j] вычисляется по формуле, куда входит количество столбцов, и изменить эту формулу программа не может. Перевыделение памяти -- можно ли такое делать? Ведь удаление второго столбца подразумевает, что первый столбец должен оставаться на месте, а третий занять место второго. А при выделении новой памяти первый столбце изменит свое положение. Это вопрос к ТС. Хотя это больше вопросы к тому, кто задал такую задачу. Может быть он всего лишь подразумевал сдвиг столбцов на освободившееся после удаленного столбца место и заполнение нулями или мусором освободившегося последнего столбца? Но это не называется удалением столбца. Количество столбцов останется тем же, что и было. Еще тут возникает вопрос, что значит номер столбца по одному. Если столбцы сдвигаются, то изменяются ли их номера. Скажем нам нужно удалить 2 и 5 столбцы. Мы обращается к подпрограмме с номером 2, а дальше что делать? Пятый столбце стал четвертым. Какой номер столбца надо указывать при втором обращении к программе. Если ТС объяснит нам все эти вопросы, тогда можно будет предложить ему код. А так кроме непонятных ему советов он вряд ли чего получит.
0
|
||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 23.04.2013, 15:12 | ||
|
0
|
||
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
|
| 23.04.2013, 18:30 | |
|
можно переопределять память через realloc и смещать только часть элементов. так будет быстрее чем полное копирование
0
|
|
| 23.04.2013, 18:30 | |
|
Помогаю со студенческими работами здесь
15
Как удалить чётные столбцы в матрице Как удалить повторяющиеся столбцы в Stringrid? Как удалить столбцы из таблицы (DBF) Как удалить столбцы DGV до определённого столбца? Как удалить все четные столбцы матрицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|