Рандом string'ов без повторений - C#

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

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

Всех с наступившим Новым Годом! Прошу помочь лишь с количеством букв в конечной строке. Вот код:
Листинг программы
  1. public partial class Form1 : Form
  2. {
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. timer1.Enabled = false;
  7. }
  8. string[] shac = {"й","ц","у", "к","е","н","г","ш","щ","з","х","ъ",
  9. "ф","ы","в","а","п","р","о","л","д","ж","э","я",
  10. "ч","с","м","и","т","ь","б","ю","ё"};
  11. //int number = 0;
  12. //Random rand = new Random(DateTime.Now.Millisecond);
  13. Random rand = new Random();
  14. List<string> lst = new List<string>();
  15. int x = 0;
  16. private void button1_Click(object sender, EventArgs e)
  17. {
  18. richTextBox1.Text = "";
  19. lst.Clear();
  20. //try
  21. //{
  22. // number = Convert.ToInt32(textBox1.Text);
  23. //}
  24. //catch
  25. //{
  26. // MessageBox.Show("число");
  27. //}
  28.  
  29. timer1.Interval = 1;
  30. timer1.Enabled = true;
  31. }
  32. private void richTextBox1_TextChanged(object sender, EventArgs e)
  33. {
  34. richTextBox1.Select(richTextBox1.Text.Length, 0);
  35. richTextBox1.ScrollToCaret();
  36. }
  37. private void timer1_Tick(object sender, EventArgs e)
  38. {
  39. //1
  40. string random_text = shac[rand.Next(shac.Length)];
  41. ////2
  42. //string random_text1 = shac[rand.Next(shac.Length)];
  43. //string random_text2 = shac[rand.Next(shac.Length)];
  44. //string random_text = random_text1 + random_text2;
  45. ////3
  46. //string random_text1 = shac[rand.Next(shac.Length)];
  47. //string random_text2 = shac[rand.Next(shac.Length)];
  48. //string random_text3 = shac[rand.Next(shac.Length)];
  49. //string random_text = random_text1 + random_text2 + random_text3;
  50. if (!lst.Contains(random_text))
  51. {
  52. lst.Add(random_text);
  53. richTextBox1.Text += random_text + "\n";
  54. x++;
  55. label1.Text = "сгенерировано: " + x;
  56. }
  57. }
  58. private void button2_Click(object sender, EventArgs e)
  59. {
  60. timer1.Enabled = false;
  61. }
  62. }
Вот это для одной, двух и трех букв в слове соответственно:
Листинг программы
  1. //1
  2. string random_text = shac[rand.Next(shac.Length)];
  3. ////2
  4. //string random_text1 = shac[rand.Next(shac.Length)];
  5. //string random_text2 = shac[rand.Next(shac.Length)];
  6. //string random_text = random_text1 + random_text2;
  7. ////3
  8. //string random_text1 = shac[rand.Next(shac.Length)];
  9. //string random_text2 = shac[rand.Next(shac.Length)];
  10. //string random_text3 = shac[rand.Next(shac.Length)];
  11. //string random_text = random_text1 + random_text2 + random_text3;
Помогите сделать по-человечески, чтобы с textBox'а вводилось количество букв. Думаю вопрос понятен. Заранее спасибо.

Решение задачи: «Рандом string'ов без повторений»

textual
Листинг программы
  1.             //try
  2.             //{
  3.             //    number = Convert.ToInt32(textBox1.Text);
  4.             //}
  5.             //catch
  6.             //{
  7.             //    MessageBox.Show("число");
  8.             //}

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


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

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

8   голосов , оценка 4 из 5

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

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

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