Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2013, 15:58   #11
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Вручную. Просто не берите такие K, которые превосходят N. Программно же нельзя!

А тот кусок кода мне и самому малопонятен. Примеры же я привёл на картинке; они не врут.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 08.04.2013, 17:56   #12
Ingez
Пользователь
 
Регистрация: 23.03.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
(1)Вручную. Просто не берите такие K, которые превосходят N. Программно же нельзя!

(2)А тот кусок кода мне и самому малопонятен. Примеры же я привёл на картинке; они не врут.
(1)Неужели "программно" нет никаких способов уж?!
(2)Я знаю, что "примеры не врут"! Но в данном случае мне было важно самому понять код.=))
Ingez вне форума Ответить с цитированием
Старый 09.04.2013, 00:03   #13
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Способов куча, но в задании-то запрет на условный оператор (и его аналоги). (на 1)
И до сих пор важно? Ну, может, кто-то его прокомментирует получше, чем я сам! (на 2)

Вот, я надеюсь, более понятный
Код:
Option Explicit
Option Base 1
Const N = 4   'размер массивов A и B (для испытаний взят небольшой)

Sub NewWayToArray()
Dim i As Long, j As Long, K As Long  'переменные для циклов
Dim A(1 To N) 'массив A (из N элементов типа Variant - что позволяет использовать Join)
Dim B(1 To N) 'массив B (из N элементов типа Variant)

'присвоение значений массиву A
For i = 1 To N
    A(i) = Int(Rnd * 10) 'эл-т A(i) получает значение целого числа из диапазона [0; 9]
Next

'присвоение значений массиву B
B(1) = A(1) 'эл-т B(1) получает значение A(1) (для K = 1 это очевидно)

'теперь вычислим остальные элементы B, начиная со 2-го
For i = 2 To N
    K = i                   'индекс очередного элемента массива B
    B(K) = B(i - 1) + A(i)  'эл-т B(K) равен сумме предыдущего элемента массива B с элементом A(i)
Next

'вывод
    If MsgBox("A:" & vbTab & Join(A, vbTab) & vbCr & _
              "B:" & vbTab & Join(B, vbTab), _
        vbInformation + vbOKCancel) = vbOK Then
        NewWayToArray       'повторное испытание
    Else
        Exit Sub            'выход из подпрограммы
    End If
End Sub
По крайней мере, пригодится для испытаний — как в Excel, так и Word.
Изображения
Тип файла: png TheTwo.png (3.8 Кб, 69 просмотров)

Последний раз редактировалось Sasha_Smirnov; 09.04.2013 в 00:59. Причина: более разжёванный вариант.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 09.04.2013, 20:46   #14
Ingez
Пользователь
 
Регистрация: 23.03.2013
Сообщений: 24
По умолчанию

Спасибо Вам Sasha_Smirnov большое!
Ingez вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
И снова COM.... kineziz Общие вопросы C/C++ 6 22.07.2012 23:10
Снова и снова. ladose Общие вопросы Delphi 1 11.04.2012 03:37
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
и снова С++ ltony Помощь студентам 5 04.02.2012 02:16
MDIChild снова и снова... Siber_Dec Общие вопросы Delphi 2 13.12.2009 03:24