У меня есть 2 двумерный массив, который полон 1s и 0s, такие какНахождение Квадраты в массиве
0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 0 0
0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0
0 0 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0
Вы можете видеть, что есть квадрат-го массива. Я пытаюсь сделать функцию, которая сделает прямоугольник или список прямоугольников на основе квадрата. Так пример возвратит прямоугольник как
rect.x = 2
rect.y = 1
rect.width = 7
rect.height = 5
Это код, у меня есть сейчас, но это просто лань не возвращает ничего
Dim rects As New List(Of Rectangle)
For imgWidth As Integer = 0 To bow.GetUpperBound(0)
For imgHeight As Integer = 0 To bow.GetUpperBound(1)
If bow(imgWidth, imgHeight) = 1 Then
If bow(imgWidth + 1, imgHeight) = 1 And
bow(imgWidth + 2, imgHeight) = 1 And
bow(imgWidth, imgHeight + 1) = 1 And
bow(imgWidth, imgHeight + 2) = 1 Then
Dim r As New Rectangle
With r
.X = imgWidth
.Y = imgHeight
End With
For rectWidth As Integer = imgWidth To bow.GetUpperBound(0)
If bow(rectWidth, imgHeight) = 0 Then
r.Width = bow(rectWidth - 1, imgHeight)
End If
Next
For rectHeight As Integer = imgHeight To bow.GetUpperBound(1)
If bow(imgWidth, rectHeight) = 0 Then
r.Height = bow(rectHeight - 1, imgHeight)
End If
Next
rects.Add(r)
End If
End If
Next
Next
Кроме того, массив должен быть в состоянии иметь более чем один квадратный.
Можете ли вы дать более подробную информацию о своей проблеме за пределами «она просто ничего не возвращает»? Что вы пробовали? – JoshD
Когда я попытался добавить точки останова, но петли, которые находят ширину и высоту, всегда возвращаются 0 – giodamelio
@giodamelio: это домашнее задание? Если нет, зачем и почему? – JoshD