КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Создание новых массивов при решении задач
Часто при решении практических задач возникает необходимость создания нового массива из выборочных элементов исходного массива. Особенностью этого типа задач является то, что индексы элементов этих массивов не совпадают. Следовательно, в цикле должны изменяться два параметра и необходимо использовать прием организации цикла с несколькими одновременно изменяющимися параметрами. Обычно в блоке решения перед циклом начальные значения индексов новых массивов принимаются равными нулю. Далее в цикле по мере отбора элементов в новый массив вычисляется текущее значение этих индексов, которые и присваиваются соответствующим элементам. Пример 9. Дан вещественный массив А(N). Вывести отдельно массив целых чисел (если они есть в исходном массиве) и массив вещественных чисел. Решение.Для фиксации текущих значений индексов в новых массивах введем счетчик к для массива B и счетчик q для массива D. При нахождении элементов массива соответствующих первому условию задачи увеличим значение к на единицу и присвоим этот индекс первому элементу нового массива B и т.п. Аналогичная процедура повторяется и при выполнении второго условия задачи, где формируется еще один массив D.
Sub primer_9() Dim A(10), B(10), D(10) As Single For i = 1 To 10 ' ввод массива A(i) = Cells(1, i) Next i For i = 1 To 10 ' вывод начального массива Cells(2, i) = A(i) Next i к = 0: q = 0 'начальные значения индексов новых массивов For i = 1 To 10 If Abs(A(i)) - Int(A(i)) = 0 Then к = к + 1: B(к) = A(i) ' вычисление текущего индекса массива В Else q = q + 1: D(q) = A(i) 'запись элемента А(i) в новый массив D End If Next i If к = 0 Then Cells(3, 1) = "В массиве целых чисел нет" Else Cells(3, 1) = "Массив целых чисел B(к))" For i = 1 To к Cells(4, i) = B(i) Next i End If If q = 0 Then Cells(5, 1) = "В массиве дробных чисел нет" Else Cells(5, 1) = "Массив вещественных чисел D(q)" For i = 1 To q Cells(6, i) = D(i) Next i End If End Sub
Результата программы:
Дата добавления: 2014-10-23; Просмотров: 339; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |