Подскажите, пжл, как создать двухмерный массив?
Иванов Николай  12, 14, 16
Петров Фаддей  7, 10
Сидоров Александр 12, 14, 16
Хочется в переменной увидеть аналогичную матрицу. Т.е. первое значение переменной состоит из 4 элементов (1-й эл-т - фамилия-имя, остальные элементы нормера страниц), второе значение из 3 элементов (фамилия-имя + остальные элементы номера страниц) и т.д.
Не хватает ума сообразить, как сформировать такой двухмерный массив.
P.S. Допустим цифры отделены от фамилий-имен знаком табуляции (если это нужно). Т.е. по знаку табуляции можно отличить первый элемент от остальных
Если да,то как-то так:[Highlight=VB]Private Type TestType
Surn As String
Name As String
Numbers() As Integer
End Type
Private A(N) As TestType[/Highlight]Чтобы потом пихнуть в параметр Numbers переменное число номеров страниц,в коде пишете[Highlight=VB]ReDim A(I).Data(M)[/Highlight]где I–Iй элемент массива,M–число номеров страниц
Надеюсь,правильно понял вас,а вы–меня:)
Я думал, что будет что-то типа
for j= 1 to..
for k = 1 to...
Т.е. какое-то матричное заполнение переменной - строчка за строчкой...
А с типом данных я пока не сталкивался. И, кроме того, для такого типа данных не должно быть запятых между элементами строки?
Вобщем надо еще подумать. Или обрабатывать данные построчно, т.е. содавать массивную переменную по текущей строке, потом в нее же записывать данные по второй строке?
Попробую поломаться... (в смысле подумать).
А с типом данных я пока не сталкивался. И, кроме того, для такого типа данных не должно быть запятых между элементами строки?
Вобщем надо еще подумать. Или обрабатывать данные построчно, т.е. содавать массивную переменную по текущей строке, потом в нее же записывать данные по второй строке?
Это как пожелаете,хотя я показал
Можно или каждое число пихать в массив Numbers(тогда придётся парсить строки "12,14,16","7,10","12,14,16" и делать массив переменной длины),или просто сделать строковую переменную Numbers(тогда не потребуется динамический массив,а парсинг строки будет выполняться далее по программе)
Кхм…вот так-то всё просто:)
Можно или каждое число пихать в массив Numbers(тогда придётся парсить строки "12,14,16","7,10","12,14,16" и делать массив переменной длины),или просто сделать строковую переменную Numbers(тогда не потребуется динамический массив,а парсинг строки будет выполняться далее по программе)
Кхм…вот так-то всё просто:)
Кому просто, кому и нет ;))
В любом случае надо будет разобраться.
Спасибо за подсказку.
А вообще,конкретная реализация зависит от задачи.Я тебе дал 2 варианта–выбирай любой
Иванов Николай  12, 14, 16
Петров Фаддей  7, 10
Сидоров Александр 12, 14, 16
Хочется в переменной увидеть аналогичную матрицу. Т.е. первое значение переменной состоит из 4 элементов (1-й эл-т - фамилия-имя, остальные элементы нормера страниц), второе значение из 3 элементов (фамилия-имя + остальные элементы номера страниц) и т.д.
Не хватает ума сообразить, как сформировать такой двухмерный массив.
P.S. Допустим цифры отделены от фамилий-имен знаком табуляции (если это нужно). Т.е. по знаку табуляции можно отличить первый элемент от остальных
Думается, что наиболее удобный инструмент для решения такой задачи - объект Dictionary (поищите на форуме соответствующие темы).
Значением ключа записи может служить фамилия-имя, значением элемента - строка (или массив) с набором номеров страниц.
По сути вместо массива вы получаете подобие коллекции со всеми вытекающими преимуществами:
- простой и очень быстрый поиск записи по ключу;
- простые процедуры добавления/удаления записи без необходимости следить за "размерностью" объекта;
- возможность (при необходмости) получить и набор ключей, и набор соответствующих им элементов в виде массивов.
Кроме того, этот способ годится для использования и в программах, и в макросах, и в сценариях.