powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите vba
7 сообщений из 7, страница 1 из 1
помогите vba
    #38610442
pri1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поменять местами элементы массива
A(a[1],a[2],…,a[n])
Первый на место второго
второй на место третьего
и т.д.
т-ный на место первого
...
Рейтинг: 0 / 0
помогите vba
    #38610486
Клевер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pri1234,

объявляешь переменную-буфер того же типа, что и элементы массива. запихиваешь в него последний(энный) элемент. в цикле присваиваешь
Код: vbnet
1.
2.
3.
for i =1 to n-1
a(i+1) = a(i)
next

потом присваиваешь первому элементу значение из буфера
...
Рейтинг: 0 / 0
помогите vba
    #38610487
Клевер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* то есть
Код: vbnet
1.
2.
3.
for i = 0 to n-2
a(n-i) = a(n-i-1)
next i
...
Рейтинг: 0 / 0
помогите vba
    #38610488
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pri1234,

Код: vbnet
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.
Sub a140409_2111()
Debug.Print
Debug.Print "поменять местами элементы массива"
''A(a[1],a[2],…,a[n])
''Первый на место второго
''второй на место третьего
''и т.д.
''т-ный на место первого
Dim xm, x1, x1k, s1, j1
xm = Split("1,2,3,4,5,6", ",")  'заполнение массива
x1 = LBound(xm, 1)
x1k = UBound(xm, 1)
s1 = xm(x1k)   'запоминаем последний
j1 = x1k
Do While j1 > x1
xm(j1) = xm(j1 - 1)      'сдвиг с конца
j1 = j1 - 1
Loop

xm(x1) = s1        'занесение последнего в первый
j1 = x1
Do While j1 <= x1k
Debug.Print xm(j1);  'контрольная печать
j1 = j1 + 1
Loop


End Sub
...
Рейтинг: 0 / 0
помогите vba
    #38610558
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клевер* то есть
Код: vbnet
1.
2.
3.
for i = 0 to n-2
a(n-i) = a(n-i-1)
next i



Вы в последующий элемент массива помещаете предыдущий, т.е. все элементы массива будут равны первому элементу исходного массива.
...
Рейтинг: 0 / 0
помогите vba
    #38610567
pri1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как поменять местами n-ый с первым
...
Рейтинг: 0 / 0
помогите vba
    #38610623
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pri1234,
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите vba
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]