Imports System
Public Class Program
Public Shared Sub changeRowColumn(ByVal matrix As Integer(,), ByVal row As Integer, ByVal col As Integer)
Dim rows As Integer = matrix.GetLength(0)
Dim cols As Integer = matrix.GetLength(1)
' // -1 = different from the existing zeros
For j As Integer = 0 To cols - 1
If matrix(row, j) <> 0 Then
matrix(row, j) = -1
End If
Next
For i As Integer = 0 To rows - 1
If matrix(i, col) <> 0 Then
matrix(i, col) = -1
End If
Next
End Sub
Public Shared Sub changeBinaryMatrix(ByVal matrix As Integer(,))
Dim rows As Integer = matrix.GetLength(0)
Dim cols As Integer = matrix.GetLength(1)
If rows = 0 OrElse cols = 0 Then
Return
End If
For i As Integer = 0 To rows - 1
For j As Integer = 0 To cols - 1
If matrix(i, j) = 0 Then
changeRowColumn(matrix, i, j)
End If
Next
Next
For i As Integer = 0 To rows - 1
For j As Integer = 0 To cols - 1
If matrix(i, j) = -1 Then
matrix(i, j) = 0
End If
Next
Next
End Sub
Public Shared Sub printMatrix(ByVal matrix As Integer(,))
Dim rows As Integer = matrix.GetLength(0)
Dim cols As Integer = matrix.GetLength(1)
For i As Integer = 0 To rows - 1
For j As Integer = 0 To cols - 1
Console.Write(matrix(i, j) & " ")
Next
Console.Write(Environment.NewLine)
Next
End Sub
Public Shared Sub Main(ByVal args As String())
Dim matrix As Integer(,) = {
{1, 1, 0, 1, 1, 1},
{1, 1, 1, 1, 1, 1},
{1, 1, 0, 1, 1, 1},
{1, 1, 1, 1, 1, 1},
{1, 0, 1, 1, 1, 1}}
changeBinaryMatrix(matrix)
printMatrix(matrix)
End Sub
End Class
' run:
'
' 0 0 0 0 0 0
' 1 0 0 1 1 1
' 0 0 0 0 0 0
' 1 0 0 1 1 1
' 0 0 0 0 0 0
'