Такой вопрос: как в 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
Другие языки программирования и технологии
Помогите пожалуйста. Visual Basic - массивы
Тебе количество квадратов надо подсчитать?
Достаточно подсчитать количество верхних левых углов и получишь искомое число квадратов.
Есть четыре варианта: 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 подставь полный путь к твоему файлу.
Достаточно подсчитать количество верхних левых углов и получишь искомое число квадратов.
Есть четыре варианта: 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 подставь полный путь к твоему файлу.
Похожие вопросы
- Уважаемые программисты, помогите (MS Visual Basic 6.0)
- Помогите с visual basic!
- помогите разобраться(visual basic)
- HELP!!! помогите пожалуйста с двумерными массивами
- Помогите пожалуйста решить двумерный массив на С++
- Продаю программу с исходниками на Visual Basic 2008 за 50 руб.
- Мне сказали сделать калькулятор которые переводит двоичную числу на 16 через visual basic кто знает пожалуйста пишите к
- Помогите составить программу по одномерному массиву visual basic.
- Подойдет ли самоучитель по Visual Basic .NET для освоения языка Basic, человеку не понимающему в программировании?
- Visual Basic или C#