Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [VBA] Сортировка ненулевых массивов |
Автор: Jenny 24.4.2007, 04:31 | ||||
Народ, помогите пожалуйста с заданием: дан массив а1, а2, ..., аN. Расположить ненулевые элементы массива по убыванию; остальные элементы оставить на своих местах. Размерность массива вводите с помощью оператора InputBox. Значение элементов массива определить датчиком случайных чисел. Вывод массива выполнить в файл и на экран с помощью оператора вывода MsgBox. Я код составила, но как сделать чтобы нули не сортировались, а оставались на своих местах?
![]()
|
Автор: Genyaa 24.4.2007, 09:01 |
Я вижу решение через создание второго массива, равного по размерности исходному. В этом втором массиве в тех позициях, где в первом массиве нули, нужно поставить какой-нибудь признак, отличный от остальных (можно сделать просто копию исходного массива). Тогда отсортировав исходный массив уже реализованным Вами способом, нужно последовательно переставить элементы отсортированного массива так, чтобы позиции нулевых значений второго массива стали нулевыми в отсортированном. |
Автор: Jenny 27.4.2007, 11:34 |
Я немного не поняла. К этому коду мне надо составить еще один массив, только вместо a(3) = 0 написать а(3) = ? А дальше я ничего не поняла. Я недавно с VB работаю, поэтому мне многое еще не понятно. ![]() |