Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.05.2022
Сообщений: 8

Рандом картинок в picturebox без повтора

11.05.2022, 10:25. Показов 1419. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, необходимо в несколько picturebox-ов зарандомить картинки из массива, но необходимо сделать это так, чтобы картинки не повторялись, буду признателен помощи, заранее спасибо !
Код ниже...
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
namespace WindowsFormsApp1
{
    public partial class Main : Form
    {
        Image[] img_new;                                                                               
        Image[] img_new_for_choice;                            
     
        Random new_start = new Random();                        
 
 
        public Main()
        {
            InitializeComponent();
 
            img_new = new Image[20];                                                        
            img_new_for_choice = new Image[4];
        }
 
 
 
        public void random_start_items()
        {
            img_new[0] = (Image)Properties.Resources._1_1;    
            img_new[1] = (Image)Properties.Resources._2_2;
            img_new[2] = (Image)Properties.Resources._3_3;
            img_new[3] = (Image)Properties.Resources._4_4;
            img_new[4] = (Image)Properties.Resources._5_5;
            img_new[5] = (Image)Properties.Resources._6_6;
            img_new[6] = (Image)Properties.Resources._7_7;
            img_new[7] = (Image)Properties.Resources._8_8;
            img_new[8] = (Image)Properties.Resources._9_9;
            img_new[9] = (Image)Properties.Resources._10_10;
            img_new[10] = (Image)Properties.Resources._10;
            img_new[11] = (Image)Properties.Resources._9;
            img_new[12] = (Image)Properties.Resources._8;
            img_new[13] = (Image)Properties.Resources._7;
            img_new[14] = (Image)Properties.Resources._6;
            img_new[15] = (Image)Properties.Resources._5;
            img_new[16] = (Image)Properties.Resources._4;
            img_new[17] = (Image)Properties.Resources._3;
            img_new[18] = (Image)Properties.Resources._2;
            img_new[19] = (Image)Properties.Resources._1;
 
 
            
            img_new_for_choice[0] = img_new[new_start.Next(0, 20)];
            img_new_for_choice[1] = img_new[new_start.Next(0, 20)];
            img_new_for_choice[2] = img_new[new_start.Next(0, 20)];
            img_new_for_choice[3] = img_new[new_start.Next(0, 20)];
 
           
 
            pictureBox1.Image = img_new_for_choice[0];
            pictureBox2.Image = img_new_for_choice[1];
            pictureBox3.Image = img_new_for_choice[2];
            pictureBox4.Image = img_new_for_choice[3];
        }
 
 
 
        private void Main_Load(object sender, EventArgs e)
        {
            random_start_items();
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2022, 10:25
Ответы с готовыми решениями:

Рандом без повтора
Как можно сделать в этой программе проверку, чтобы цифры не повторялись. Без матриц и строк. Пользуясь одномерным массивом. #include...

Рандом чисел без повтора
Добрый вечер ребят подскажыте код который сможет срандомить и присвоить 10-тю переменым 10 разных плюсових чисел без повтора я написал но...

Как в access сделать запрос без повторений(чтобы требуемые поля выводились без повтора)???
есть 3 табл. R1 = (ФИО, Дисциплина, Оценка); R2 = (ФИО, Группа); R3 = (Группы, Дисциплина) добавила в R2 столбец где должны пройти экз. и...

2
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
11.05.2022, 10:40
Лучший ответ Сообщение было отмечено CoDe_shot как решение

Решение

Для этого можно использовать тасование (shuffle).
В сети валяется много реализаций разных вариантов этого алгоритма, например можно изменить ваш код так:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
namespace WindowsFormsApp1
{
    public partial class Main : Form
    {
        Image[] img_new;
        static Random new_start = new Random();                        
 
 
        public Main()
        {
            InitializeComponent();
 
            img_new = new Image[20];
            img_new[0] = (Image)Properties.Resources._1_1;    
            img_new[1] = (Image)Properties.Resources._2_2;
            img_new[2] = (Image)Properties.Resources._3_3;
            img_new[3] = (Image)Properties.Resources._4_4;
            img_new[4] = (Image)Properties.Resources._5_5;
            img_new[5] = (Image)Properties.Resources._6_6;
            img_new[6] = (Image)Properties.Resources._7_7;
            img_new[7] = (Image)Properties.Resources._8_8;
            img_new[8] = (Image)Properties.Resources._9_9;
            img_new[9] = (Image)Properties.Resources._10_10;
            img_new[10] = (Image)Properties.Resources._10;
            img_new[11] = (Image)Properties.Resources._9;
            img_new[12] = (Image)Properties.Resources._8;
            img_new[13] = (Image)Properties.Resources._7;
            img_new[14] = (Image)Properties.Resources._6;
            img_new[15] = (Image)Properties.Resources._5;
            img_new[16] = (Image)Properties.Resources._4;
            img_new[17] = (Image)Properties.Resources._3;
            img_new[18] = (Image)Properties.Resources._2;
            img_new[19] = (Image)Properties.Resources._1;           
        }
 
        public static void Shuffle(Image[] arr)  
        {  
            int n = arr.Length;  
            while (n > 1) {  
                n--;  
                int k = rng.Next(n + 1);  
                Image val = arr[k];
                arr[k] = arr[n];  
                arr[n] = val;  
            }  
        }
 
        public void random_start_items()
        {
            Shuffle(img_new);
            pictureBox1.Image = img_new[0];
            pictureBox2.Image = img_new[1];
            pictureBox3.Image = img_new[2];
            pictureBox4.Image = img_new[3];
        }
 
 
        private void Main_Load(object sender, EventArgs e)
        {
            random_start_items();
        }
    }
}
Код писал на коленке, требуется отладка
0
0 / 0 / 0
Регистрация: 11.05.2022
Сообщений: 8
11.05.2022, 11:12  [ТС]
Всё получилось, благодарю !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2022, 11:12
Помогаю со студенческими работами здесь

рандом картинок
Добрый вечер я в "JavaScript" пока 0 но мне нужна помощь нужно скрипт который выводит картинку, при наведении на картинку она рандомно из 5...

Рандом картинок
есть 3 блока в котором 3 картинки: https://www.cyberforum.ru/attachment.php?attachmentid=474445&stc=1&d=1420363495 при...

Рандом картинок по координатам!
У меня задача сделать игру Парные картинки. У меня есть зарание раставленые 24 картинки тобишь (6х4 размер). Мне надо, чтобы они все...

доправить рандом на pictureBox
Всем привет, у меня проблема: Нужно когда я жму button1(Гра з комп'ютером), то после того, как я нажму на любой квадрат(...

Перестановки без повтора
Есть английский алвавит - массив типа char. как можно получить все варианты взаимнозаменой букв в нем?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru