![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] Формирование массива с листа. Исправить код |
|
VBA - [решено] Формирование массива с листа. Исправить код
|
![]() Новый участник Сообщения: 4 |
На рабочем листе есть строка С(5,1,1,7,1,21,1). Надо написать функцию создающую квадратную матрицу G(i,j) по правилу:
G(i,j )= |c(i)-5c(j)| если i<=j+1 G(i,j) = c(i-j)+4sin(c(i))-7c(j) если i>j+1 Код функции, приведенной ниже, всем элементам G(i,j) присваивает значение 4. Помогите найти ошибку, пожалуйста. Function g(c As Variant) As Double Dim i As Integer Dim j As Integer Dim n As Integer Dim R() As Double n = c.Columns.Count ReDim R(n, n) For i = 1 To n For j = 1 To n If i <= (j + 1) Then R(i, j) = Abs(c(i) - 5 * c(j)) Else R(i, j) = c(i - j) + 4 * Sin(c(i)) - 7 * c(j) End If Next j Next i g = R(n, n) End Function |
|
Отправлено: 10:19, 18-11-2012 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Julian, лист пустой. Прикрепите другой документ, правильный.
|
------- Отправлено: 11:56, 18-11-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать lxa85 , спасибо.
Уже не надо, исправил код. |
Отправлено: 09:02, 19-11-2012 | #3 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Решение для потомков будет озвучено?
|
------- Отправлено: 15:49, 19-11-2012 | #4 |
![]() Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Если конечно потомки пожелают
|
|
Отправлено: 02:48, 20-11-2012 | #5 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Вообще-то это правила хорошего тона, нашёл решение - поделись с другими. Согласитесь, неприятно ввест запрос в поисковую систему и найдя аналогичную тему с вопросом, тут же прочитать: спасибо я нашёл сам решение. Не стесняйтесь, здесь все свои.
![]() |
------- Отправлено: 14:21, 20-11-2012 | #6 |
![]() Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Уважаемый Drongo, правила это не законы. Я не собираюсь с кем-то делится, если меня даже никто не попросил об этом. Тем более что эту тему я создал для того чтобы помогли мне.
По поводу спасибо я нашел сам решение. Не вижу ничего неприятного. Повторюсь тему создал для того чтобы помогли мне. Я отписался что нашел, потому что не мог удалить эту тему, чтобы люди которые хотят помочь не тратили время зря. Да и тот кому надо как говорится найдет решение. Вообще-то в правила хорошего тона не входит навязывать своё мнение! Sub Procedure_1() Dim i As Integer Dim j As Integer Dim n As Integer Dim c() As Double Dim R() As Double Dim Rv As Excel.Range Dim Cv As Excel.Range Set Rv = Range("C5:I11") Set Cv = Range("C1:I1") n = Cv.Columns.Count ReDim R(1 To n, 1 To n) ReDim c(1 To n) For i = 1 To n Step 1 c(i) = Cv.Cells(1, i).Value Next i For i = 1 To n Step 1 For j = 1 To n Step 1 If i <= (j + 1) Then R(i, j) = Abs(c(i) - 5 * c(j)) ElseIf i > (j + 1) Then R(i, j) = c(i - j) + 4 * Sin(c(i)) - 7 * c(j) End If Next j Next i For i = 1 To n For j = 1 To n Rv.Cells(i, j).Value = R(i, j) Next j Next i End Sub |
Последний раз редактировалось Drongo, 22-11-2012 в 18:17. Причина: tag code Отправлено: 14:49, 22-11-2012 | #7 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Благодарю.
|
------- Отправлено: 18:18, 22-11-2012 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
V. 2010 - Автоматическое формирование alias | Lazarius | Microsoft Exchange Server | 6 | 27-07-2011 21:35 | |
Формирование POST запроса | Legandox | Хочу все знать | 1 | 03-05-2011 23:02 | |
C/C++ - Формирование подмножеств на с++ | Remisto | Программирование и базы данных | 3 | 24-06-2010 22:51 | |
CMD/BAT - [решено] Формирование списка. | somes | Скриптовые языки администрирования Windows | 7 | 13-04-2009 10:21 | |
Формирование матрицы | Sergey Po | Программирование и базы данных | 3 | 28-04-2004 04:47 |
|