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

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

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

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

    Запрос услуг репетитора:

    Опубликовано

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

    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;
        }

    Добавить комментарий

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

    Капча загружается...