Массив случайных неповторяющихся чисел - C (СИ)
Формулировка задачи:
У меня есть например 50 кнопок как сделать так чтоб каждая кнопка имела свой номер. но он должен каждый раз меняться и не должен повторяться!
А числа которые нужно отгадать нужно будет вписать в специальную ячейку. 10 попыток и 10 ячеек
Решение задачи: «Массив случайных неповторяющихся чисел»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define SIZE 100
- int main()
- {
- int arr[SIZE];
- int i, j, t;
- /* создаем массив последовательных чисел от 1 до SIZE */
- for(i = 0; i < SIZE; i++){
- arr[i] = i+1;
- }
- /* перемешиваем его */
- srand ((unsigned int) time(NULL) );
- for(i = SIZE-1; i > 0; i--){
- j = rand() % i;
- t = arr[j];
- arr[j] = arr[i];
- arr[i] = t;
- }
- /* на выходе имеем массив перемешанных неповторяющихся чисел от 1 до SIZE */
- for(i = 0; i < SIZE; i++){
- printf("%d\n", arr[i]);
- }
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со случайными числами и временем
- Объявление массива с размером 100 элементов
- Создание трех переменных для работы с циклами
- Заполнение массива последовательными числами от 1 до 100
- Перемешивание массива с помощью алгоритма
Fisher-Yates
- Вывод на экран полученного массива случайных неповторяющихся чисел от 1 до 100
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д