Другие языки программирования и технологии

Помогите пожалуйста. Visual Basic - массивы

Такой вопрос: как в Visual Basic 6 можно загрузить данные из файла в двумерный массив для дальнейшей обработки? То что мне удалось написать:

Private Sub Command1_Click()

Dim MyArray(199, 199) As Integer
Dim i As Integer
Dim j As Integer
Dim Сount1 As Integer

'
'
' Здесь должна происходить загрузка данных в массив.
'
'
'

For i = 0 To 199
For j = 0 To 199

If MyArray(i, j) = 1 Then
Count1 = Count1 + 1
End If
Next j
Next i

MsgBox ("В массиве было найдено " & Count1 & " единиц" & " Это " & Сount1 / 4 & " квадратиков")

End Sub
Тебе количество квадратов надо подсчитать?
Достаточно подсчитать количество верхних левых углов и получишь искомое число квадратов.
Есть четыре варианта: 1) квадрат в верхнем левом углу карты 2) квадрат в на верхней границе карты 3) квадрат на правой границе карты 4) квадрат внутри карты. В принципе, все проверки этих вариантов можно сделать считывая по одной строке из файла и анализируя каждый символ этой строки:

Dim i, j, squares, fd As Integer
Dim c, lc, uc, s, sp As String
fd = FreeFile
Open ("c:\temp\input.txt") For Input As #fd
i = 1
Do Until EOF(fd)
    Line Input #fd, s
    For j = 1 To Len(s)
        c = Mid(s, j, 1)
        If c = "1" Then
            If j = 1 Then: lc = "0": Else lc = Mid(s, j - 1, 1)
            If i = 1 Then: uc = "0": Else uc = Mid(sp, j, 1)
            If lc = "0" And uc = "0" Then: squares = squares + 1
        End If
    Next
    sp = s
    i = i + 1
Loop

В squares будет искомое число квадратов. В Open ("input.txt") вместо input.txt подставь полный путь к твоему файлу.
Алексей Жадан
Алексей Жадан
86 704
Лучший ответ