Массив случайных чисел

Часто нужно сгенерировать массив случайных чисел некоторого типа. Причём имеется верхняя и нижняя граница элементов этого массива.

Проще всего решить такую задачу генерируя случайные числа в цикле for.

Для примера рассмотрим генерацию двух случайных массивов - вещественного и целочисленного. В каждом из них будет 10 элементов. И элементы каждого из массивов будут от 1 до 5. Все эти константы Вы можете поменять на какие-нибудь свои. Для удобства оформим генерацию каждого из массивов с помощью отдельной функции:

Массив случайных чисел: 2 комментария

  1. Доброго времени суток. Никак не могу дойти до правильного решения, прошу помочь:

    Заполнить одномерный массив размером 200 элементов случайными и не повторяющимися числами в диапазоне 1 – 200. Перемешать данные в массиве таким образом, чтобы модуль разности любых соседних чисел был не меньше чем 5

    1. Его можно оптимизировать, тогда сложно будет.
      Общая идея такая

      for(i=0;i<200;i++)
      {
      //нужен ли сдвиг
      sdvig=0;
      while(svdig<5)
      {
      again=1;
      while(again==1)
      {
      again=0;
      //предварительно
      b = 1 + rand() % 200;
      //Дальше проверка, что такого ещё нет
      for(j=0;j<i;j++)
      if (b==a[j]) again=1;
      }
      //Дальше проверка разницы
      if (abs(b-a[i-1])<5) sdvig++;
      else break;
      }
      if (sdvig==5) //сдвиг
      {
      for(j=0;j<i-1;j++)
      a[j]=a[j+1];
      i=i-2;
      }
      else a[i]=b;
      }

Не нашли ответ? Не беда, спросите в комментариях.

Ваш e-mail не будет опубликован. Обязательные поля помечены *