Вывести все комбинации звездочек и одной буквы - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д