0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 6
|
|
1 | |
Составьте процедуру, изменяющую исходный одномерный массив путем деления его положительных элементов на свои индексы12.12.2011, 23:45. Показов 4317. Ответов 11
Метки нет (Все метки)
Задача: Составьте процедуру, изменяющую исходный одномерный массив путем деления его положительных элементов на свои индексы и считающую число таких замен. Используя эту процедуру, определите, в каком из двух заданных одномерных массивов А или В будет больше измененных элементов.
Последовательность решения: 1. Введите в столбцы Excel A и B любые числовые значения (положительные и отрицательные) в количестве 10-15 на каждый столбец. 2. Создайте макрос или кнопку. 3. В коде макроса объявите и инициализируйте c листа Excel два массива A и B необходимой размерности (используйте функцию Cells) 4. Напишите код процедуры принимающую следующие аргументы по ссылке: M – одномерный массив (тип Double) R – число перестановок (тип Double) 5. Используя эту процедуру выполните необходимые преобразования и вычисления для массивов А и B. 6. Массив у которого будет большее количество замен необходимо вывести в столбец Excel D
0
|
12.12.2011, 23:45 | |
Ответы с готовыми решениями:
11
Изменить исходный одномерный массив путем деления его положительных элементов на свои индексы Образовать массив B (N, M) путем деления элементов массива A (N, M) на сумму его положительных элементов Одномерный массив.Найти среднее положительных элементов.максимум и его индексы Составьте функцию, изменяющую одномерный массив целых чисел следующим обра-зом: к значению каждого положительного элемента прибавляется его индекс |
3 / 3 / 0
Регистрация: 17.04.2011
Сообщений: 128
|
|
13.12.2011, 00:01 | 2 |
Свойства - макросы - редактор вба. В открывшееся окошко пишешь код на вба. Продлемы с кодом - пишешь сюда. Поглядим, подправим. Если необходимо готовое решение - укажи сроки и напиши мне. Или в фриланс.
0
|
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 6
|
||||||
13.12.2011, 00:49 [ТС] | 3 | |||||
Большое спасибо за ответ)
Вот, пыталась что-то сделать... Нужно, лучше к завтрашнему вечеру, не могу понять это вообще, т.к. не проходила процедуры.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.12.2011, 01:00 | 4 |
Ошибка в том, что процедура должна принимать только один массив.
Её нужно вызвать 2 раза. Сейчас посмотрю
0
|
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 6
|
|
13.12.2011, 01:01 [ТС] | 5 |
Спасибо) Буду ждать)
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
||||||
13.12.2011, 01:21 | 6 | |||||
Ну, вроде так:
0
|
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 6
|
|
13.12.2011, 01:24 [ТС] | 7 |
Огромное спасибо!!!
Только подскажите, пожалуйста, что это значит?) C = IIf(R1 > R2, A, B) j = IIf(R1 > R2, 1, 2)
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.12.2011, 01:30 | 8 |
Обратите внимание на ньанс:
Хоть в основной процедуре массивы объявлены Double, в процедуру массив передаётся как Variant Добавлено через 2 минуты Это значит если если условие выплоняется массив С будет равен масиву А. В противном случае массиву В. А цикл выводит на лист всегда С. Т.е. проверяется условие где было больше перестановок
1
|
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 6
|
|
13.12.2011, 01:31 [ТС] | 9 |
Спасибо большое))))
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.12.2011, 01:33 | 10 |
А J используется как номер массива в сообщении
Добавлено через 1 минуту Для "спасиб" кнопочка
1
|
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 6
|
|
13.12.2011, 01:33 [ТС] | 11 |
То есть это можно переписать попроще?) с помощью if else endif? или я не так понимаю?) просто я такое еще в первый раз вижу)
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.12.2011, 01:34 | 12 |
Можно. Но разве 5 строчек проще 1?
0
|
13.12.2011, 01:34 | |
13.12.2011, 01:34 | |
Помогаю со студенческими работами здесь
12
Сформировать массив путем деления положительных элементов заданной матрицы на число K Получить новый массив путем деления всех элементов массива на его наименьший элемент Получить новый массив путем деления всех элементов данного массива на его больший по модулю элемент Сформировать одномерный массив путём деления положительных элементов заданной матрицы на число к Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |