@Retr0Hacker

Как сделать проверку числа на повторность в массиве?

Надо сформировать массив из K (K <= 200) нечетных случайных чисел (пользоваться библиотечными функциями генерирования случайных чисел). В массиве не должно быть одинаковых частей. Определить минимальные и максимальные элементы массива и указать их номера.

Как проверить повторяется ли число в массиве?

Код, что сейчас есть:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
  srand(time(nullptr));
  const int SIZE = 10;
  int arr[SIZE];;
  int *ptr;
  for (size_t i = 0; i < SIZE; i++)
  {
    ptr = arr + i;
    while (true)
    {
      *ptr = rand() % 1000;
      if (*ptr % 2 == 0)
        continue;
      
}
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Завести переменную флаг. Пройтись циклом по уже сформированному массиву, сравнить текущее число с числом в массиве. Если нашли совпадение, надо записать это в bool флаг. После цикла посмотреть на флаг.

Можно из цикла при совпадении выходить через break.

Нечетные числа можно генерить сразу, умножая рандом на 2 и прибавляя 1.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В общем случае - пройти по уже заполненной части массива и проверить, что новое число там не встречается.
В вашем конкретном случае можно завести массив на 1000 элементов и в нём отмечать уже записанные числа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы