Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > как объединить массивы?


Автор: Гость_Гость 27.1.2005, 15:59
Подскажите пожалуйста как объеденить два массива в один.
а(а1,а2,a3)-первый массив
b(b1,b2,b3)-второй массив
с(a1,a2,a3,b1,b2,b3)-массив в итоге.
В сети ничего такого не нашел.



Автор: Naghual 27.1.2005, 16:13
redim c(a.ubound+b.ubound)
а потом циклом элементы в новый массив

Автор: Akina 27.1.2005, 16:23
лучше уж redim preserved a()

Автор: Naghual 27.1.2005, 16:27
Да. Лучше.
Но ведь ему нужно именно в С!

Автор: Guest 27.1.2005, 17:57
Naghual -
redim c(a.ubound+b.ubound)
ind=0
for i = 0 to ubound (a)
c(ind)=a(i)
ind=i+1
next i
for i = 0 to ubound (b)
c(ind)=b(i)
ind=i+1
next i

Так ?


Akina -

redim preserved a()

как тут добавить b() в a() не вьезжаю smile

Автор: Naghual 27.1.2005, 18:15
Да. Типа того.
Есть небольшая заморочка с индексом. Но думаю ты и сам разберешся.

Автор: Akina 27.1.2005, 18:40
Цитата(Naghual @ 27.1.2005, 17:27)
Да. Лучше.
Но ведь ему нужно именно в С!

ага... именно поэтому он поместил тред в раздел по Бэйсику... не понимаю твоей логики...

Цитата(Guest @ 27.1.2005, 18:57)
redim preserved a()
как тут добавить b() в a() не вьезжаю

Код

' Draft code - check bounds
la=lbound(a)
ua=ubound(a)
lb=lbound(b)
ub=ubound(b)
redim preserved a(la to ua+ub-lb+1)
for i=ua+1 to ua+ub-lb+1
   a(i)=b(i-ua+lb-1)
next i

Автор: Naghual 27.1.2005, 18:43
Цитата
Цитата (Naghual @ 27.1.2005, 17:27)
Цитата
Да. Лучше.
Но ведь ему нужно именно в С!

ага... именно поэтому он поместил тред в раздел по Бэйсику... не понимаю твоей логики...


smile Я имел в виду переменную "с". Вот тебе и логика.

Автор: Akina 27.1.2005, 18:46
Цитата(Naghual @ 27.1.2005, 19:43)
Я имел в виду переменную "с". Вот тебе и логика.

а-а-а! smile

Автор: Guest 27.1.2005, 19:11
Akina -

спасибо большое !
но ругается на синтаксическую ошибку
redim preserved a()



Автор: Naghual 27.1.2005, 19:19
Цитата
но ругается на синтаксическую ошибку
redim preserved a()

Это потому, что переменная А обьявленна как массив фиксированного размера:
Код
Dim a(5)

Объяви ее свободным массивом:
Код
Dim a()


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)