В ящике лежит 180 клубков шерсти, красных, белых и желтых. Сообщение о том, что достали желтый клубок, несет в себе 1 бит информацию белых клубков столько же, сколько и красных. Сколько красных клубков?
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Array() As Byte = {102, 103, 105, 105, 104, 108, 101, 109, 111, 113} GnomeSort(Array, True) End Sub
' // Алгоритм гномьей сортировки Sub GnomeSort(ByRef Array() As Byte, ByVal ToUpper As Boolean) Dim tui As Integer, index As Integer, last As Integer If (ToUpper = True) Then tui = 1 Else tui = -1 index = 1 last = 2 Do If ((Array(index) * tui) < (Array(index - 1) * tui)) Then SWAP(Array(index), Array(index - 1)) index -= 1 If (index = 0) Then index = last last += 1 End If Else index = last last += 1 End If Loop While (index < (UBound(Array) + 1)) ' // c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535 End Sub
' // Функция обмена двух переменных Private Function SWAP(ByRef ic_a As Integer, ByRef ic_b As Integer) As Boolean Dim Dump As Integer = ic_a ic_a = ic_b ic_b = Dump Return True End Function
Системный блок... Самое сокровенное что у нас есть. В нем мы держим большое количество информации, с него мы общаемся с другими людьми, играем в игры, пишем сочинения и многое другое Жизнь его, конечно нелегка, даже очень нелегка... Каждый день мы включаем и работаем на нем, каждый день! С утра до ночи, с ночи до утра! И кого -то иногда, а у кого - то он перетруждается... Да, именно перетруждается. И тогда он отправляется в сервис, а иногда хозяева сами его чинят. И когда он чинится, он опять начинает работать, как окаянный. Не хотел бы я оказаться на его месте. И поэтому, зная про его тяжелую долю, нужно относиться к нему бережно: чистить его ( хотя бы раз в месяц), вовремя заменять термопасту и т.д.
Dim Array() As Byte = {102, 103, 105, 105, 104, 108, 101, 109, 111, 113}
GnomeSort(Array, True)
End Sub
' // Алгоритм гномьей сортировки
Sub GnomeSort(ByRef Array() As Byte, ByVal ToUpper As Boolean)
Dim tui As Integer, index As Integer, last As Integer
If (ToUpper = True) Then tui = 1 Else tui = -1
index = 1
last = 2
Do
If ((Array(index) * tui) < (Array(index - 1) * tui)) Then
SWAP(Array(index), Array(index - 1))
index -= 1
If (index = 0) Then
index = last
last += 1
End If
Else
index = last
last += 1
End If
Loop While (index < (UBound(Array) + 1))
' // c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535
End Sub
' // Функция обмена двух переменных
Private Function SWAP(ByRef ic_a As Integer, ByRef ic_b As Integer) As Boolean
Dim Dump As Integer = ic_a
ic_a = ic_b
ic_b = Dump
Return True
End Function