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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2009, 02:06   #1
DESPUT
 
Регистрация: 02.06.2009
Сообщений: 7
По умолчанию Visual Basic-одномерный массив!

Формулировка задачи: Найти сумму 1-го, 4-го, 9-го, 16-го, …, k-го элементов одномерного массива X из n элементов (k – наибольшее целое число, не превышающее
корень(n)).
сможет кто нибудь помочь написать вот это?)
DESPUT вне форума Ответить с цитированием
Старый 02.06.2009, 02:09   #2
Stat_ya
Пользователь
 
Аватар для Stat_ya
 
Регистрация: 31.05.2009
Сообщений: 30
По умолчанию

иногда нужно думать... это просто!
1)почти блондинка
2)почти программист
3)мало знаю, но, к счастью, обозреваю то, чего не знаю.
Stat_ya вне форума Ответить с цитированием
Старый 02.06.2009, 02:12   #3
DESPUT
 
Регистрация: 02.06.2009
Сообщений: 7
По умолчанию

ну не для всех это просто... вот например я не могу понять как в этом массиве задать шаг... если можешь помоги пожалуйста
DESPUT вне форума Ответить с цитированием
Старый 02.06.2009, 03:33   #4
PavelZet
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 15
По умолчанию

задаём начальное значение n=1(n-корень из индекса)
задаём i(индекс) от 1 до k, i изменяется по закону i = n в квадрате
sum присваиваем sum + M[i]
в теле цикла увеличиваем n на 1(после суммирования)
PavelZet вне форума Ответить с цитированием
Старый 02.06.2009, 07:48   #5
DESPUT
 
Регистрация: 02.06.2009
Сообщений: 7
По умолчанию

можете объяснить, что здесь не корректно, пожалуйста, если все правильно то почему-то не работает, и если не сложно выложите код целиком
k = 1
For i = 1 To n Step k ^ 2
S = M(i) + S
k = k + 1
Next i

Последний раз редактировалось DESPUT; 02.06.2009 в 08:07.
DESPUT вне форума Ответить с цитированием
Старый 02.06.2009, 08:45   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Код:
    Dim m(100)
    For i = 1 To 100: m(i) = i: Next i: Rem заполняем массив
    
    k = 5
    For i = 1 To k
        S = m(i ^ 2) + S
    Next i
    Print S
EducatedFool вне форума Ответить с цитированием
Старый 02.06.2009, 08:57   #7
DESPUT
 
Регистрация: 02.06.2009
Сообщений: 7
По умолчанию

на сколько я понял
нельзя в VB задать такую формулу S = m(i ^ 2) + S
вот часть кода отвечающая за этот цикл я не могу понять, что в ней не правильно:
Цитата:
Dim S As Single, M(1 To 16) As Single
Dim i As Integer, n As Integer, k As Integer
Private Sub Command1_Click()
n = Val(txt_n.Text)
For i = 1 To n Step 1
M(i) = Text1(i).Text
Next i
For i = 1 To n Step (k ^ 2)
S = M(i) + S
Next i
txt_S.Text = S
End Sub
DESPUT вне форума Ответить с цитированием
Старый 02.06.2009, 09:01   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
на сколько я понял
нельзя в VB задать такую формулу S = m(i ^ 2) + S
С чего ты это взял?

Замени свой код на такой, и проверь:
Код:
Sub Command1_Click()
    'Найти сумму 1-го, 4-го, 9-го, 16-го, …, k-го элементов одномерного массива X из n элементов
    '(k – наибольшее целое число, не превышающее корень(n)).
    Dim M(100)
    For i = 1 To 100: M(i) = i: Next i:    Rem заполняем массив

    k = 6
    For i = 1 To k
        S = M(i ^ 2) + S
    Next i
    MsgBox S
End Sub
Цитата:
я не могу понять, что в ней не правильно:
Хотя бы вот это:
Код:
For i = 1 To n Step (k ^ 2)
S = M(i) + S
Next i
Надо готовый код - прикрепи к сообщению свой проект VB
EducatedFool вне форума Ответить с цитированием
Старый 02.06.2009, 09:05   #9
DESPUT
 
Регистрация: 02.06.2009
Сообщений: 7
По умолчанию

все равно нет... ему не нравится эта строчка
возможно это из-за версии... у меня Microsoft Visual Basic 6.0

Последний раз редактировалось DESPUT; 02.06.2009 в 09:07.
DESPUT вне форума Ответить с цитированием
Старый 02.06.2009, 09:09   #10
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
ему не нравится эта строчка
Чем именно не нравится?
Я проверял код в VBA (=VB6.3)

Выкладывай свой проект, посмотрим.
EducatedFool вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Visual Basic 6) phantom4eg Помощь студентам 5 22.04.2009 19:00
Visual Basic _леся_ Помощь студентам 3 24.12.2008 21:16