Заполнение массива уникальными числами - C (СИ)

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

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

setlocale(LC_ALL, "Russian");
    int mn1[20], mn2[20], mn3[20], mn_out[200], ke1, ke2, ke3, ke_out = 100, kod, kod11, kod12;
    printf("Введите количество элементов 1-го множества (до 20):   ");
    scanf_s("%i", &ke1);
    for (int i = 0; i < ke1; i++)
    {
        printf("Введите ");
        printf("%i", i + 1);
        printf(" элемент:   ");
        scanf_s("%i", &mn1[i]);
    }
как сделать так, чтоб если ты вводишь число, которое уже есть в массиве необходимо повторно ввести этот элемент к примеру: введите 1 элемент 5 введите 2 элемент 4 введите 3 элемент 5 повторите ввод 3 элемента 2

Решение задачи: «Заполнение массива уникальными числами»

textual
Листинг программы
for (i = 0; i < 5; i++)
    {
        printf("Введите ");
        printf("%i", i + 1);
        printf(" элемент:   ");
        scanf("%i", &mn1[i]);
        for (j = 0; j < i; ++j)
            if (mn1[i] == mn1[j]) break;
        if (j != i)
        {
            printf("!!!");
            i--;
        }
    }

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

  1. Происходит заполнение массива mn1 уникальными числами.
  2. Пользователю предлагается ввести элемент массива.
  3. Используется функция scanf для ввода элемента.
  4. Производится проверка на уникальность введенного элемента с помощью цикла for, который проходит по всем элементам массива от 0 до i-1.
  5. Если найден дубликат, то выводится сообщение !!!.
  6. Цикл прерывается и пользователь возвращается к вводу следующего элемента.
  7. Если дубликат не найден, то цикл завершается и программа продолжает работу со следующим элементом.

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы