Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Safari_92
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 5
#1

Нужно сделать тест с 4 ответами, но что бы они не повторялись - C#/.NET 4.x

03.04.2017, 22:09. Просмотров 432. Ответов 8
Метки нет (Все метки)

Доброго времени суток. Помогите пожалуйста с созданием теста на C#. Суть вопроса в том что мне надо сделать тест с 4 ответами. В случайном порядке сделать не проблема, а вот без повторений не получается. Вот собственно код теста:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        private void button2_Click(object sender, EventArgs e)
        {
            string v1 = "ответ 1";
            string v2 = "ответ 2";
            string v3 = "ответ 3";
            string v4 = "ответ 4";
            String[] ss = new String[4] { v1, v2, v3, v4 };
            Random rnd = new Random();
            int n;
            TextBox[] boxes = new TextBox[4];
            boxes[0] = textBox1;
            boxes[1] = textBox2;
            boxes[2] = textBox3;
            boxes[3] = textBox4;
 
            for (int i = 0; i < boxes.Count(); i++)
            {
                n = rnd.Next(0, 4);
                boxes[i].Text = ss[n];   // Вывод ответов
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2017, 22:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Нужно сделать тест с 4 ответами, но что бы они не повторялись (C#):

Сделать тест из 20 вопросов, но что бы они каждый раз были в случайном порядке
Доброго времени суток форумчане. Помогите пожалуйста с созданием теста на c#....

Ввести в массив четыре случайные цифры, так чтобы они не повторялись
Привет! Подскажите как можно вводить в массив четыре случайные цифры и так...

Метод который будет вписывать в ComboBox строки, и они сохранялись в нем, но не повторялись
Хочу сделать метод который будет вписывать в ComBox строки, и они сохранялись...

Как сделать что-то похожее не тест
Ребят, изучаю C# 2 неделю мало, пока учусь всё нравиться, хочу сделать что-то...

rand(1, 25) Как сгенерить 5 чисел, что бы они не повторялись.
В принципе вопрос в названии темы. И в принципе задача не такая сложная, но...

Массив случайных чисел, как сделать чтоб они не повторялись?
Я сделал массив с рандомными числами, как сделать чтоб они не повторялись ? ...

8
Diamante
1262 / 1023 / 646
Регистрация: 14.08.2016
Сообщений: 3,545
Завершенные тесты: 1
03.04.2017, 22:24 #2
отсортируй массив рандомно
C#
1
Array.Sort(array, (_,__) => {  return rnd.Next(-1,2);});
1
Safari_92
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 5
04.04.2017, 20:31  [ТС] #3
А можешь поконкретнее помочь пожалуйста, пробовал по разному сортировать не получается.
0
Diamante
1262 / 1023 / 646
Регистрация: 14.08.2016
Сообщений: 3,545
Завершенные тесты: 1
04.04.2017, 20:39 #4
вот так, например
C#
1
Array.Sort(ss, (_,__) => { return rnd.Next(-1,2);});
1
Safari_92
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 5
04.04.2017, 22:22  [ТС] #5
Это я уж понял, но у меня все равно повторяются. новичок( не получается реализовать.

Добавлено через 26 минут
Diamante я только начал изучать си шарп пожалуйсто не мог бы ты поподробнее указать куда его вставить? И нужно ли задействовать интерфейс IComparable? если да то как?
0
Diamante
1262 / 1023 / 646
Регистрация: 14.08.2016
Сообщений: 3,545
Завершенные тесты: 1
04.04.2017, 22:28 #6
C#
1
Array.Sort(ss, (_,__) => { return rnd.Next(-1,2);});
засунь в 15ю строку(листинга из 1го поста)
и
C#
1
Random rnd = new Random();
сделай статическим полем, иначе может генерить одинаковые последовательности
1
Safari_92
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 5
04.04.2017, 22:45  [ТС] #7
Все равно повторяет

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        Random rnd = new Random();
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            string v1 = "ответ 1";
            string v2 = "ответ 2";
            string v3 = "ответ 3";
            string v4 = "ответ 4";
            String[] ss = new String[4] { v1, v2, v3, v4 };
            
            int n;
            TextBox[] boxes = new TextBox[4];
            boxes[0] = textBox1;
            boxes[1] = textBox2;
            boxes[2] = textBox3;
            boxes[3] = textBox4;
            
            Array.Sort(ss, (_, __) => { return rnd.Next(-1, 2); });
            for (int i = 0; i < boxes.Count(); i++)
            {
                n = rnd.Next(0, 4);
                boxes[i].Text = ss[n];   // Вывод ответов
            }
        }
Добавлено через 12 минут
так тоже повторяет
C#
1
static Random rnd = new Random();
0
Diamante
1262 / 1023 / 646
Регистрация: 14.08.2016
Сообщений: 3,545
Завершенные тесты: 1
05.04.2017, 13:13 #8
вот это убери
C#
1
n = rnd.Next(0, 4);
, перемешивание у тебя теперь в
C#
1
Array.Sort(ss, (_, __) => { return rnd.Next(-1, 2); });
1
Safari_92
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 5
05.04.2017, 21:21  [ТС] #9
Спасибо огромное
0
05.04.2017, 21:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2017, 21:21
Привет! Вот еще темы с решениями:

Сделать тест программу с 4 вопросами и ответами про вред алгоголя
Помогите пожалуйста сделать тест программу с 4 вопросами и ответами про вред...

Расставить на поле 4х4 буквы ABCD так что бы они не повторялись ни в строке, ни в столбце
Добрый день! помогите в написаны игры. Суть игры : Нужно расставить на поле...

Раскидать цифры от 1 до N и чтобы они не повторялись
Здравствуйте. Подскажите пожалуйста, как можно с помощью Random раскдать...

Как выбрать случайные цифры, они не повторялись?
Здравствуйте! С помощью функции rand написал скрипт который выбирает случайные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru