Чтение из файла и нахождение среднего арифметического - VB
Формулировка задачи:
в общем нужно записать в файл рандомные числа а потом процедурой выбрать диапазон из записей, найти среднее значение цифр в этом диапазоне и вписать его в начало файла.
Подправьте код пожалуйста
Решение задачи: «Чтение из файла и нахождение среднего арифметического»
textual
Листинг программы
Option Explicit
Private Sub Commandbutton1_Click()
Dim n As Integer, chislo() As Single, srd As Single
Dim i As Integer, k As Integer, r As Integer
n = Val(InputBox("Введите кол-во чисел ", , 10))
Debug.Print: Debug.Print "<br>Исходный массив<br>"
ReDim chislo(1 To n)
Randomize
Open App.Path & "\числа_массив.txt" For Output As #1
For i = 1 To n
chislo(i) = Int(Rnd * 100)
Write #1, chislo(i)
Debug.Print chislo(i);
Next i
Close #1
k = Val(InputBox("Введите первую позицию ", , 15))
r = Val(InputBox("Введите вторую позицию ", , 55))
ReDim Preserve chislo(1 To n + 1)
srd = Sred(chislo, n, k, r)
For i = n + 1 To 2 Step -1
chislo(i) = chislo(i - 1)
Next i
chislo(1) = srd
Debug.Print: Debug.Print "<br>Результат<br>"
Open App.Path & "\числа_результат.txt" For Output As #1
For i = 1 To UBound(chislo)
Write #1, chislo(i)
Debug.Print chislo(i);
Next i
Close #1
End Sub
Function Sred(ByRef arr() As Single, ByRef n As Integer, perv As Integer, vtor As Integer) As Single
Dim i As Long, k As Long, summ As Integer
For i = 1# To n Step 1
If arr(i) > perv And arr(i) < vtor Then
summ = summ + arr(i)
End If
Next i
Sred = summ / n
End Function