Вывести все комбинации звездочек и одной буквы - Visual Basic .NET
Формулировка задачи:
Всем доброго здоровичка!!! Такой вопрос:
В лейбл надо вывести все комбинации :
Z*****
*Z****
**Z***
***Z**
и т.д.
количество комбинаций задаётся случайно. Понимаю, что надо в цикле. Не могу сделать, чтобы буква переходила по позициям и везде были звёздочки.
Спасибо заранее!!!
И ещё:
ZZ****
Z*Z***
Z**Z**
Z***Z*
Z****Z
*ZZ***
*Z*Z**
*Z**Z*
и т.д.
****ZZ
С одной буквой сделал. Правда коряво, длинный код получился. Как сделать с двумя буквами???
Решение задачи: «Вывести все комбинации звездочек и одной буквы»
textual
Листинг программы
Private n As Integer = 6
Private cc As Char = "Z"c
Private sb As System.Text.StringBuilder
Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
Dim nn As Integer = 10
Dim ss(nn - 1) As String
Dim ii As Integer = -1, k As Integer = 0
For i = 0 To nn - 1
ii += 1
If ii = n Then
k += 1
If k = n Then k = 0
ii = k
End If
sb = New System.Text.StringBuilder(New String("*", n), n)
sb.Chars(ii) = cc
ss(i) = sb.ToString
Next
MsgBox(String.Join(vbCrLf, ss))
End Sub
Private Sub Button8_Click(sender As System.Object, e As System.EventArgs) Handles Button8.Click
Dim cc As Char = "Z"c
Dim nn As Integer = Enumerable.Sum(Enumerable.Range(1, n - 1))
Dim ss(nn - 1) As String
Dim ii As Integer = 0, jj As Integer = 0
For i = 0 To nn - 1
jj += 1
If jj = n Then
ii += 1
jj = ii + 1
End If
sb = New System.Text.StringBuilder(New String("*", n), n)
sb.Chars(ii) = cc
sb.Chars(jj) = cc
ss(i) = sb.ToString
Next
MsgBox(String.Join(vbCrLf, ss))
End Sub