Заполнение строкового массива случайными буквами - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем доброго здоровичка!!! Помогите пожалуйста с задачкой: VB2008 Есть текстовый массив. Его размер указывается через рэндом от 4 до 7. Этот массив надо заполнить буквами русского алфавита рэндомно (коды от 192 до 223), но чтобы пару-тройку гласных букв (в зависимости от размера массива), остальные согласные. В переменные k1 - колич гласных в массиве, k2 - колич согласных. Спасибо заранее!!!

Решение задачи: «Заполнение строкового массива случайными буквами»

textual
Листинг программы
Module Module1
    'ТОЛЬКО ПОД ТЕКУЩИЕ ТРЕБОВАНИЯ
    Sub Main()
        Dim charsG As String = "аеийоуэюя"
        Dim charsS As String = "бвгджзклмнпрстфхцчшщ"
        Dim k1, k2 As Integer
        Dim rand As New Random()
        Dim tmpStr As String
 
        Dim arr(rand.Next(3) + 4) As String
 
        k1 = Math.Ceiling(arr.Length \ 2) ' по логике получается, что приоритет на большее числов элементов имеют согласные из диапазона 4-7
        k2 = arr.Length - k1
 
        'последовательно заполняем гласными
        For i As Integer = 0 To k1 - 1
            Do
                tmpStr = charsG(rand.Next(charsG.Length))
            Loop While arr.Contains(tmpStr)
            arr(i) = tmpStr
        Next
 
        'далее последовательно заполняем согласными
        For i As Integer = k1 To arr.GetUpperBound(0)
            Do
                tmpStr = charsS(rand.Next(charsS.Length))
            Loop While arr.Contains(tmpStr)
            arr(i) = tmpStr
        Next
 
        Dim ri As Integer
 
        'перемешиваем массив
        For i As Integer = 0 To arr.GetUpperBound(0)
            ri = rand.Next(arr.Length)
            tmpStr = arr(ri)
            arr(ri) = arr(i)
            arr(i) = tmpStr
        Next
 
        Console.WriteLine("Результат: " & String.Join(String.Empty, arr))
        Console.WriteLine("k1: " & k1.ToString)
        Console.WriteLine("k2: " & k2.ToString)
 
        Console.ReadLine()
 
    End Sub
 
End Module

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы