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

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

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

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

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

textual
Листинг программы
  1. Module Module1
  2.     'ТОЛЬКО ПОД ТЕКУЩИЕ ТРЕБОВАНИЯ
  3.     Sub Main()
  4.         Dim charsG As String = "аеийоуэюя"
  5.         Dim charsS As String = "бвгджзклмнпрстфхцчшщ"
  6.         Dim k1, k2 As Integer
  7.         Dim rand As New Random()
  8.         Dim tmpStr As String
  9.  
  10.         Dim arr(rand.Next(3) + 4) As String
  11.  
  12.         k1 = Math.Ceiling(arr.Length \ 2) ' по логике получается, что приоритет на большее числов элементов имеют согласные из диапазона 4-7
  13.         k2 = arr.Length - k1
  14.  
  15.         'последовательно заполняем гласными
  16.         For i As Integer = 0 To k1 - 1
  17.             Do
  18.                 tmpStr = charsG(rand.Next(charsG.Length))
  19.             Loop While arr.Contains(tmpStr)
  20.             arr(i) = tmpStr
  21.         Next
  22.  
  23.         'далее последовательно заполняем согласными
  24.         For i As Integer = k1 To arr.GetUpperBound(0)
  25.             Do
  26.                 tmpStr = charsS(rand.Next(charsS.Length))
  27.             Loop While arr.Contains(tmpStr)
  28.             arr(i) = tmpStr
  29.         Next
  30.  
  31.         Dim ri As Integer
  32.  
  33.         'перемешиваем массив
  34.         For i As Integer = 0 To arr.GetUpperBound(0)
  35.             ri = rand.Next(arr.Length)
  36.             tmpStr = arr(ri)
  37.             arr(ri) = arr(i)
  38.             arr(i) = tmpStr
  39.         Next
  40.  
  41.         Console.WriteLine("Результат: " & String.Join(String.Empty, arr))
  42.         Console.WriteLine("k1: " & k1.ToString)
  43.         Console.WriteLine("k2: " & k2.ToString)
  44.  
  45.         Console.ReadLine()
  46.  
  47.     End Sub
  48.  
  49. End Module

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


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

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

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы