Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 14.03.2008
Сообщений: 145

Определение количества элементов в одномерном массиве

13.05.2008, 13:14. Показов 1376. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такая проблема я создал динамичский массив, при входе в определённую процедуру я хочу увеличивать кол-во елементов на один (defoult - я не знаю сколько у меня там уже элементов), я пыталсь юзать UBound & Len но когда в массиве нет ни одного элемента они дружненько выдают ошибку.
Вопрос:
Как мне определить сколько элементов в одномерном массиве, и если там нет ничего чтоб прога не ругалась

Заранее спасибо
Sfagnum
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2008, 13:14
Ответы с готовыми решениями:

Определение количества цифры Х в одномерном массиве!?
Определение количества цифры Х в одномерном массиве!?

Нахождение количества нулевых элементов в одномерном массиве
Данная программа направлена на нахождение количества нулевых элементов в одномерном массиве. Необходимо переделать данный код так, чтобы...

Подсчет количества отрицательных элементов в одномерном массиве
Помогите написать программу с использованием функций, подсчета количества отрицательных элементов в одномерном массиве.

8
1 / 1 / 0
Регистрация: 27.12.2007
Сообщений: 157
13.05.2008, 13:28
dlinu masiva vozvrashaet UBound(), no on doljen imet' element khotjabi odin. Chtobi bit' uverennim chto tam chto-to est' objavi massiv i ustanovi dlinu 1:
Visual Basic
1
2
dim arr()
ReDim arr(0)
posle etogo mojesh uvelichivat' skol'ko nado, naprimer :
Visual Basic
1
2
3
4
For i = 0 to 10
ReDim Preserve arr(i)
arr(i)=i
Next
0
1 / 1 / 0
Регистрация: 14.03.2008
Сообщений: 145
13.05.2008, 13:39  [ТС]
Проработан (ранее) ....... => не подходит, или я такой
Массив у меня обьявлен вне процедуры, при входе надо проверить кол-во элементов и добавить ещё один, не попортив предидущие данные, так что я не могу при каждом входе скидывать кол-во элементов до единицы, а иначе всё равно надо сперва проверить)
0
1 / 1 / 0
Регистрация: 14.03.2008
Сообщений: 145
13.05.2008, 13:41  [ТС]
т.е. проблема сводиться к тому чтобы проверить если в данном массиве вообще элементы)
0
Vita
13.05.2008, 13:42
Visual Basic
1
2
3
4
5
6
  Dim a() As Boolean, i As Long
  On Error Resume Next
  i = -1 ' Начальное значение: в случае ошибки не меняется!
  i = UBound(a)
  ReDim Preserve a(i + 1)
  On Error GoTo 0
или так
Visual Basic
1
2
3
4
  On Error Resume Next
  i = 0
  i = UBound(a)+1
  ReDim Preserve a(i)
1 / 1 / 0
Регистрация: 14.03.2008
Сообщений: 145
13.05.2008, 14:56  [ТС]
Спасибо будем пробовать
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,927
Записей в блоге: 5
25.05.2008, 14:28
Хорошая мысля приходит опосля!

Вместо массива нужно использовать вариантную переменную. В ней нужно хранить динамический массив. Пока переменная не инициализирована, IsEmpty возвращает True. А когда в переменной уже имеется массив, его можно опросить функцией UBound. Следующий пример на VBScript работает, как надо:

Dim a ' но вообще-то переменную можно и не объявлять
For i = 0 To 3
addit par
MsgBox (par(UBound(par)))
Next

Sub addit(a)
If IsEmpty(a) Then
ReDim a(0)
Else
ReDim Preserve a(UBound(a) + 1)
End If
a(UBound(a)) = UBound(a)
End Sub
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,927
Записей в блоге: 5
25.05.2008, 14:39
опечатка:

Dim par ' но вообще-то переменную можно и не объявлять
0
1 / 1 / 0
Регистрация: 14.03.2008
Сообщений: 145
25.05.2008, 15:20  [ТС]
Спасибо всем большое
очень помогли
To palva - Cool!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.05.2008, 15:20
Помогаю со студенческими работами здесь

Определение максимального и минимального элементов в одномерном массиве
. Составить подпрограммы определения максимального и минимального элементов в одномерном массиве. Используя их, найти минимум среди...

Сравнение количества чётных и нечётных элементов в одномерном массиве
Нужно решить данную задачку на паскале....попросил друг до завтра, а у самого руки не доходят. Надеюсь на помощь))) Условие: Дана...

Поиск максимального количества одинаковых элементов в одномерном массиве
Дан целочисленный массив размера N.Найти максимальное количество его одинаковых элементов. Программа работает неправильно помогите найти...

Нахождение количества отрицательных элементов содержащихся в одномерном массиве
Используя рекурсивную процедуру или функцию, составить программу для нахождения количества отрицательных элементов содержащихся в...

Определение количества элементов в массиве
Как определить количество элементов динамическом и статическом массивах? Спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru