Массив случайных неповторяющихся чисел - C (СИ)

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

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

У меня есть например 50 кнопок как сделать так чтоб каждая кнопка имела свой номер. но он должен каждый раз меняться и не должен повторяться! А числа которые нужно отгадать нужно будет вписать в специальную ячейку. 10 попыток и 10 ячеек

Решение задачи: «Массив случайных неповторяющихся чисел»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define SIZE            100
  6.  
  7.  
  8. int main()
  9. {
  10.     int arr[SIZE];
  11.     int i, j, t;
  12.     /* создаем массив последовательных чисел от 1 до SIZE */   
  13.     for(i = 0; i < SIZE; i++){
  14.         arr[i] = i+1;
  15.     }
  16.  
  17.     /* перемешиваем его */
  18.     srand ((unsigned int) time(NULL) );
  19.     for(i = SIZE-1; i > 0; i--){
  20.         j = rand() % i;
  21.         t = arr[j];
  22.         arr[j] = arr[i];
  23.         arr[i] = t;
  24.     }
  25.  
  26.     /* на выходе имеем массив перемешанных неповторяющихся чисел от 1 до SIZE */
  27.     for(i = 0; i < SIZE; i++){
  28.         printf("%d\n", arr[i]);
  29.     }
  30.  
  31.  
  32.     return 0;
  33. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы со случайными числами и временем
  2. Объявление массива с размером 100 элементов
  3. Создание трех переменных для работы с циклами
  4. Заполнение массива последовательными числами от 1 до 100
  5. Перемешивание массива с помощью алгоритма Fisher-Yates
  6. Вывод на экран полученного массива случайных неповторяющихся чисел от 1 до 100

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


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

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

12   голосов , оценка 4.417 из 5

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

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

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