Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB] Cуммаи количество элементов равных 3


Автор: ekaterina240 21.11.2009, 22:03
Нужно написать программу нахождения суммы чисел массива и все элементы кратные 3 на Visual Basic. Опыт програамирования 2 занятия по информатике, задание нужно для контрольной работы.=)

Добавлено через 2 минуты и 55 секунд
Извините в теме ошибка. Тема должна звучать как "Вычислить сумму и количество элементов кратных 3". Название темы является и самим заданием.

Автор: neic 22.11.2009, 00:35
Код

Const n = 5 ' определяем размерность масива
Public masiv(n) As Integer ' задаём масив
Private Sub Command1_Click()
Dim k, s, i As Integer
Dim chislo As Variant ' чтобы не вызвать ошибки в программе делаем эту переменную типа вариант (т.е. может принимать любые значения: строковые, числовые, логические и т.д.
'Метод 1: вводим значения элементов матрицы через цикл
For i = 1 To n
vvod:
    chislo = InputBox("Введите " & i & " элемент масива", "Ввод чисел")
    If IsNumeric(chislo) = True Then ' проверка на то, ввёл ли пользователь число или что-то
        masiv(i) = chislo ' если число, то зановсим его в массив
    Else
        GoTo vvod: ' если не число, то повторяем ввод
    End If
Next

'Метод 2: вводим значения элементов матрицы руками
'Этот метод хуже тем, что если будет 1000 элементов мы устане вводить.
'masiv(1) = -3
'masiv(2) = 6
'masiv(3) = 8
'masiv(4) = 10
'masiv(5) = 9

For i = 1 To n
    If masiv(i) Mod 3 = 0 Then ' если кратно трём, то...
        k = k + 1 ' суммируем кол-во элементов кратных 3ём
        s = s + masiv(i) ' суммируем занчения
    End If
Next

MsgBox "Количество элементов кратных 3ём: " & k & vbCrLf & "Сумма : " & s
End Sub

Автор: ekaterina240 24.11.2009, 15:04
Он у меня в строке  Public masiv(n) As Integer  выделяет "masiv(n) As Integer" и сообщает "Compile error". В чём у меня здесь ошибка?
И ещё один вопрос. Я правильно поняла, что этот код у нас пишется всего на одной кнопке, которая будет сразу производить все вычисления? Или нада разбить операции на несколько подходов?

Автор: Sanaff 26.11.2009, 22:05
Цитата(ekaterina240 @ 24.11.2009,  13:04)
Он у меня в строке  Public masiv(n) As Integer  выделяет "masiv(n) As Integer" и сообщает "Compile error". В чём у меня здесь ошибка?
И ещё один вопрос. Я правильно поняла, что этот код у нас пишется всего на одной кнопке, которая будет сразу производить все вычисления? Или нада разбить операции на несколько подходов?

Поменяйте строчку на    Dim masiv(n) As Integer 
Код вставляется в пустое окно (для кода). На форме есть кнопка. Разбивать можно, но какой смысл?


Автор: ekaterina240 28.11.2009, 21:59
Спасибо большое за помощь.=) А вопрос с тем что бы разбивать операции я спросила просто для уточнения=)) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)