Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Немного о генерации псевдослучайных чиселДля заполнения матрицы случайными (точнее, псевдослучайными) числами можно создать функцию, генерирующую числа из заданного диапазона. Все-таки, хорошо знакомая нам функция rand() генерирует числа из диапазона от 0 до 32767. Кроме того, при использовании этой функции без дополнительных манипуляций псевдослучайная последовательность будет всегда одной и той же. Для устранения этого недостатка мы напишем аналог функции randomize(), которая используется, например, в Паскале. Итак, для простоты мы не будем увеличивать диапазон возможных значений, поскольку для наших целей этого вполне достаточно, но введём возможность смещения этого диапазона в сторону отрицательных чисел. Вспомним, что ограничить диапазон можно с помощью взятия остатка от деления:
int r = rand()%100;
Число r будет псевдослучайным числом из диапазона от 0 до 99. Сместить диапазон можно посредством прибавления минимально желаемого значения. Например,
int r = rand()%100 - 20;
Теперь число r будет псевдослучайным числом из диапазона от -20 до 7 9. Реализуем описанные действия в виде функции:
int rnd(int min, int max) { return rand()%(max-min) + min; }
Наконец, реализовать функцию randomize() можно так:
void randomize() { srand(time(0)); }
Не забудьте подключить библиотеку time.h. Заполнение матрицы случайными числами С использованием созданных функций rnd() и randomize() заполнение матрицы псевдослучайными числами будет выглядеть так:
randomize(); for (int i=0; i<size; i++) { for (int j=0; j<size; j++) { matrix[i][j] = rnd(-99, 100); } }
|