Написать функцию, которая подсчитывает количество элементов находящихся на диагоналях массива - VB
Формулировка задачи:
Добрый день!
Осваиваю функции и процедуры в VB6 SP6. Есть задача написать функцию, которая подсчитывает количество элементов находящихся на диагоналях массива. Написал функцию и программу вызова этой функции. VB указывает на синтаксическукю ошибку Return intSum. Не понятно в чем ошибка? Что я не так делаю?
На лекциях при разборе примеров с функция массив в ней определяем так ByVal arrX(,) . VB говорит, что для массивов надо использовать ByRef и ругается на запятую в скобках массива, которая говорит о том что массив двумерный. Если убрать запятую arrX(), то все ОК. Как при объявление в функции массива задать что он двумерный? И почему незьзя в VB в функции для массива использовать ByVal?
Помогите разобраться?
Листинг программы
- Public Function Diagonal(ByRef arrX() As Integer) As Integer
- Dim intC As Integer
- Dim intSum As Integer
- intSum = 0
- For intC = 0 To UBound(arrX, 2)
- intSum = intSum + arrX(intC, intC) + arrX(intC, (UBound(arrX, 2) - intC))
- Next
- intSum = intSum - arrX(UBound(arrX, 1) / 2, UBound(arrX, 2) / 2)
- Return intSum
- End Function
- '------------------------------------------------------------
- Private Sub Form_Load()
- ReDim arrY(2, 2) As Integer
- Dim intX, intY, intZ, intSumma As Integer
- For intX = 0 To UBound(arrY, 1)
- For intY = 0 To UBound(arrY, 2)
- intZ = InputBox("введите число")
- arrY(intX, intY) = intZ
- Next
- Next
- MsgBox (Diagonal(arrY(), intSumma))
- End Sub
Решение задачи: «Написать функцию, которая подсчитывает количество элементов находящихся на диагоналях массива»
textual
Листинг программы
- intX = -3 : intY = 10
- IF intX * intY >10 THEN
- intX = intY * intX
- ELSE
- IF intX * intY<0 THEN
- intY = intY-5
- End if
- End if
- intS = intY - intX
- Label1.Caption=Str( intS)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д