Visual Basic 6, задача с массивами чисел

Бзяка
Сообщений: 72
Зарегистрирован: 15 дек 2010, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение Бзяка » 15 окт 2011, 08:28

Из массива целых случайных чисел X={x(i)}, где i={1,2,3....n}, получить массив Y=Y{(m)}, заполнив нарастающими суммами элементов.

Код: Выбрать все


option Explicit
Dim x(), y(), i, n, m As Integer
Private Sub cmd1_Click()
n = CInt(InputBox("Введите n", "Ввод"))
 ReDim x(1 To n), y(1 to n)
 For i = 1 To n
 x(i) = CInt(InputBox("Введите x", "Ввод"))
Print x(i);
Next i

дальше как делать я не очень понимаю, как задать y(i)?
Подскажите пожалуйста
Заранее спасибо
Последний раз редактировалось Бзяка 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test

Hellko
Сообщений: 261
Зарегистрирован: 11 июл 2011, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение Hellko » 15 окт 2011, 11:00

Бзяка писал(а):Source of the post
Из массива целых случайных чисел X={x(i)}, где i={1,2,3....n}, получить массив Y=Y{(m)}, заполнив нарастающими суммами элементов.

Код: Выбрать все


option Explicit
Dim x(), y(), i, n, m As Integer
Private Sub cmd1_Click()
n = CInt(InputBox("Введите n", "Ввод"))
 ReDim x(1 To n), y(1 to n)
 For i = 1 To n
 x(i) = CInt(InputBox("Введите x", "Ввод"))
Print x(i);
Next i

дальше как делать я не очень понимаю, как задать y(i)?
Подскажите пожалуйста
Заранее спасибо

написано же случайными числами. значит надо использовать команду rnd (randomize)
далее вам надо сделать сортировку по возрастанию. это легко.
задача для 8 класса.
Последний раз редактировалось Hellko 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test

Бзяка
Сообщений: 72
Зарегистрирован: 15 дек 2010, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение Бзяка » 15 окт 2011, 14:14

причем тут сортировка по возрастанию?
Последний раз редактировалось Бзяка 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test

Hellko
Сообщений: 261
Зарегистрирован: 11 июл 2011, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение Hellko » 15 окт 2011, 14:36

Бзяка писал(а):Source of the post
причем тут сортировка по возрастанию?

что такое
нарастающими суммами элементов
Последний раз редактировалось Hellko 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test

AV_77
Сообщений: 3530
Зарегистрирован: 23 фев 2007, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение AV_77 » 15 окт 2011, 14:45

Очевидно, что $$y_0 = x_0$$ и $$y_{i+1} = y_i + x_{i+1}$$.
Последний раз редактировалось AV_77 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test

Бзяка
Сообщений: 72
Зарегистрирован: 15 дек 2010, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение Бзяка » 15 окт 2011, 15:00

то есть

Код: Выбрать все

For m=1
y(m)=x(1)
For m=n-1 to n
Y(m+1)=y(m)+x(m+1)

такая получается команда для получения массива У?
Последний раз редактировалось Бзяка 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test

OlgaI
Сообщений: 145
Зарегистрирован: 19 сен 2011, 21:00

Visual Basic 6, задача с массивами чисел

Сообщение OlgaI » 17 окт 2011, 06:49

Бзяка писал(а):Source of the post
то есть

Код: Выбрать все

For m=1
y(m)=x(1)
For m=n-1 to n
Y(m+1)=y(m)+x(m+1)

такая получается команда для получения массива У?


Что совсем никак?

написано же случайными числами. значит надо использовать команду rnd (randomize)


Буквы сливаются, очень похоже на "md" (make directory). Функция называется RND, возвращает случайное число на отрезке [0,1].
Есть еще функция Randomize, которая инициализирует RND, чтобы при разных стартах выдавались разные случайные числа.

Открываете среду VB6, создаете стандарное приложение EXE. Оно не консольное, т.е. у вас будет окно Form1, в которое можно вывести результат. Кладете в окно текстовое поле Text1, растягиваете его в высокий прямоугольник, и устанавливаете свойство Multiline = True.

Потом пишете на событие загрузки формы Form1 такой код:

Код: Выбрать все

Option Explicit

Private Sub Form_Load()
 Dim X As Integer ' случайное число
 Dim Y(9) As Integer ' массив сумм случайных чисел
 Dim i As Integer ' счетчик цикла
 ' инициализируем генератор случайных чисел
 Randomize
 ' случайное число от 0 до 9
 Y(0) = Int(9 * Rnd)
 Text1.Text = "Случайное число=" & Y(0) & _
 " Сумма: y(0)=" & Y(0) & vbNewLine
 For i = 1 To 9
 X = Int(9 * Rnd)
 Y(i) = Y(i - 1) + X
 Text1.Text = Text1.Text & "Случайное число=" & X & _
 " Сумма: y(" & i & ")=" & Y(i) & vbNewLine
 Next i
End Sub


Программу можно оптимизнуть и заменить массив Y(9) на переменную Y.
Догадайтесь сами как.
Последний раз редактировалось OlgaI 28 ноя 2019, 19:02, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 5 гостей