Как создать генератор рандомных слов? - C#
Формулировка задачи:
Всем привет!
Ребят, уже как неделю ищу что-то подобное:"Как создать генератор слов в C#?"... И всё без толку... Вообщем, нужно создать такую штуку в C#, которая будет способна выбирать слова рандомно...
Например:
Создам я несколько слов: "Квартира", "Работа", "Будильник","День", и нужно сделать так, чтобы эти слова писали в каком-либо тексте рандомно т.е.:
1. Квартира-Будильник-Работа-День
2. Будильник-Работа-Квартира-День
3. Работа-Квартира-День-Будильник
и т.д.
И заметьте нужно сделать так, чтобы эти слова не повторялись...
Получилось Что-то подобное создать:
Но это совсем не то; Во-первых: Нужно создать всё это в функции, а не писать в "Кнопке", Во-вторых: Генерируется только одно число "слово", а надо несколько... И наконец: иногда слова будут одинаковы, а надо сделать так, чтобы сначала все слова на писались т.е.: Квартира;Работа;Будильник;День, а уже потом началось повторение, но в другом порядке.
Надеюсь объяснил толково... ПОМОГИТЕ!
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace Генератор
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void btnGeneratorSlov_Click(object sender, EventArgs e)
- {
- Random Slov = new Random();
- int RanSlov = Slov.Next(4);
- if (RanSlov == 0)
- {
- tbKeys.Text = "Квартира";
- }
- else if (RanSlov == 1)
- {
- tbKeys.Text = "Работа";
- }
- else if (RanSlov == 2)
- {
- tbKeys.Text = "Будильник";
- }
- else if (RanSlov == 3)
- {
- tbKeys.Text = "День";
- }
- }
- }
- }
Решение задачи: «Как создать генератор рандомных слов?»
textual
Листинг программы
- public static void Shuffle(string[] a)
- {
- var rand = new Random();
- for(int i = a.Length - 1; i > 0; i--)
- {
- int j = rand.Next(0, i + 1);
- string tmp = a[i];
- a[i] = a[j];
- a[j] = tmp;
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- string[] words = {"Квартира", "Будильник", "Работа", "День"};
- Shuffle(words);
- tbKeys.Text = string.Join(";", words.Take(n)); //где n - кол-во необходимых эл-тов
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д