|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
|
Создание многомерного массива16.09.2012, 18:34. Показов 7653. Ответов 24
Метки нет (Все метки)
Привет всем.
Подскажите, пожалуйста, как в программе задать многомерный массив чисел, границы (количество строк и столбцов) которого будут выбраны пользователем через ввод в n:=SpinEdit1.Value; m:=SpinEdit2.Value; Получается только явно задать границы массива и с ним работать.
0
|
|
| 16.09.2012, 18:34 | |
|
Ответы с готовыми решениями:
24
Сортировка многомерного массива Обработка многомерного массива
|
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|
| 16.09.2012, 18:37 | |
|
0
|
|
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
||||||
| 16.09.2012, 18:46 [ТС] | ||||||
|
А разве не многомерный динамический массив?
На просторах интернета нашел информацию о том, что не задавать границы массива можно использованием "открытого массива".
0
|
||||||
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
||||||
| 16.09.2012, 18:52 | ||||||
|
Ты что, не можешь перейти по ссылке и почитать о динамических массивах?
0
|
||||||
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
||
| 16.09.2012, 19:00 [ТС] | ||
|
Сейчас попробую еще раз проверить. SetLength(Arr,n,m); //Определили размерность Arr = Array[0..n-1,0..m-1] Получается дальше в цикле программы не надо указывать, например, n-1, т.к. это предполагает уже данная функция?
0
|
||
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|||||||
| 16.09.2012, 19:13 | |||||||
Например:
Что там за ошибка?
0
|
|||||||
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
|||||||
| 16.09.2012, 19:37 [ТС] | |||||||
0
|
|||||||
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
||||||
| 16.09.2012, 19:54 | ||||||
|
Вот по простому без всяких изысков. Может можно и проще.
0
|
||||||
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
||||||
| 16.09.2012, 20:15 [ТС] | ||||||
|
Одиночка, Спасибо большое. Использовал твой код. Но теперь в Stringпrid не выводится числовой массив.
И еще, подскажи, пожалуйста, куда и как прописать Finalize.
0
|
||||||
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
||||||
| 16.09.2012, 20:25 | ||||||
|
Просто, когда уже не собираешься работать с массивом пиши:
а если тебе достаточно вывести данные в грид - можешь описать его локально в этой процедуре заполнения, и в конце неё поставить эту команду. Чего не заполняет сейчас проверю.
0
|
||||||
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
|||||||||||
| 16.09.2012, 20:28 [ТС] | |||||||||||
|
Одиночка, Спасибо большое. в Stringпrid некорректно выводится числовой массив рандомно созданный ранее. Когда программа сопоставляет (копирует, отображает) из ранее созданного массива данные из ячеек то она все пытается записать значения из них в фиксированные ячейки компонента StringGrid.
При рандомном заполнении массива, как указать что можно записывать только целые положительные и отрицательные числа? Прошу помощи...
0
|
|||||||||||
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
||||||
| 16.09.2012, 20:38 | ||||||
|
У тебя и так будут только целые положительные числа. Потому, что Random(x) даёт значение от 0 до x-1. Просто ты не скопировал заполнение из моего кода. У меня мой код отлично заполняет. Пробовал на 1000 строк и 500 столбцов.
0
|
||||||
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
|
| 16.09.2012, 20:47 [ТС] | |
|
Одиночка, Снова выручил. Спасибо.
1. Но можно же рандомно в перемешку в массиве получить отрицательные и положительные числа? 2. В компоненте StringGrid можно кликнув мышью на ячейку с данными выделялась как ячейка так и порядковый номер строки и столбца? Может это есть в свойствах компонента? 3. Посоветуй в случае необходимости вывода сгенерированного массива в файл, то лучше использовать функцию записи в *.txt или экспорт в Excel?
0
|
|
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|
| 16.09.2012, 21:01 | |
|
1. Пиши, например: Random(10000)-5000; - будет от -5000 до 4999.
2. В свойстве Options грида установить флаг goRowSelect = True. При щелчке на любой ячейке - будет выделяться вся строка. 3. Что лучше - не знаю. С экспортом в Exel не работал.
0
|
|
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
|
| 16.09.2012, 21:03 [ТС] | |
|
Заметил такое что при вводе границ массива 0x0 или при вводе количество столбцов=0, то в stringrid фиксированные строки и столбцы при последующих заданных границ >0 становятся не фиксированными и теряют свой фон (сливаются с ячейками и данными в них из массива). Помогает только перезапуск программы.
0
|
|
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
||
| 16.09.2012, 21:06 | ||
'Вы что, издеваетесь?'
0
|
||
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
|
| 16.09.2012, 22:26 [ТС] | |
|
Вообще я думал ты просто подтвердишь то что при 0Х0 какое-то свойство данного компонента изменяется. Ну да лан.)
goRowSelect = True - выделяет только всю строку. А нельзя ли выделить еще столбец? Т.е. свойствами компонента нельзя, опять же, как в Excel выделить только 3ячейки: ячейку выбранную + ячейку с порядковым номером строки + ячейку с порядковым номером столбца? За ранее благодарен. Добавлено через 25 минут Подскажи, пожалуйста, еще пару вопросов: 1. Поставил проверку на n<0, m<0, n=0 and m=0 с выводом сообщения некорректности ввода размерности массива. В свойствах компонента StringGrind установил Visible:=False; В случае правильного ввода размерности массива выполнить следующее..... + StringGrid1.Visible:=True; Но даже после ввода 0х0, 0х1, 1х0 - выводится предупреждение, массив не создается, но появляется пустой (с одной фиксированной строкой и с столбцом) компонент StringGrid. Может что-нибудь посоветовать? 2. Можно ли сделать авто-размер формы программы: 2.1. При раскрытии формы на все окно - разносить элементы формы относительно увеличенной "рабочей" части формы (извини, не знаю как правильно это называется); 2.2. При запуске программы форма уменьшена, но при клике, например, на кнопку и создании массива - увеличить форму и добавить (вывести) компонент StringGrid. Добавлено через 43 минуты 3. Использую компонент CheckBox объединенных в GroupBox. Подскажите, как сделать логику... при активации одного CheckBox не давать выбрать другой CheckBox в пределах одного и нескольких GroupBox (деактивируя его,затемняя его - даже если у него до этого стаял флажок активирован)? Знаю что можно для этих целей использовать другой компонент Delphi.
0
|
|
|
0 / 0 / 2
Регистрация: 12.09.2012
Сообщений: 91
|
||||||
| 17.09.2012, 05:51 [ТС] | ||||||
|
UI, А может можно на эти вопросы получить ответы здесь, а если другие возникнут вопросы, то для них обязательно создам отдельные темы?)
Добавлено через 7 часов 14 минут Подскажите, как записать многомерный массив в файл в виде таблицы или импортировать его в Excel.
0
|
||||||
| 17.09.2012, 05:51 | |
|
Помогаю со студенческими работами здесь
20
Запись многомерного массива в нетипизированный файл Создание многомерного массива
Создание многомерного массива Создание многомерного массива в JS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|