1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
| 18192123 |
13.05.2008 16:43
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
Объясните пожалуйста, как можно инициализировать матрицу случайными числами??
|
![]() ![]() |
| andriano |
14.05.2008 11:18
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Нет. В IBM PC нет встроенного датчиа случайных чисел, поэтому пытаться извлечь их откуда-то - задача не из простых.
Обычно вместо случайных чисел используют псевдослучайные - т.е. вполне конкретную циклическую последовательность чисел, формируемых по определенному алгоритму, которая по статистическим характеристикам близка к последовательности случайных чисел. Но т.к. числа формируются алгоритмически, последовательность их жестко предопределена. Чтобы избавиться от этой предопределенности вводят дополнительную процедуру инициализации алгоритма, при которой та же самая циклическая последовательность уже будет начинаться не с первого члена, а с какого-то другого. Т.е. при разных запусках программы последовательность не будет повторяться, а будет каждый раз другая. Для инициализации обычно берут текущее время. Т.е. порядок работы такой (примеры, извини, в Паскаль - оболочке): пишем сам генератор ПСЧ (простой и быстрый, но не уверен, что пройдет все статистические тесты): var iax,ibx:word;где в переменных хранится текущее состояние ДПСЧ. Эти переменные надо инициализировать. Вот это можно сделать при помощи таймера: procedure randomize; Теперь перед первым использованием мы вызываем randomize, а затем используем random |
18192123 Заполнение матрицы случайными числами 13.05.2008 16:43
18192123 вот что у меня получилось...только матрица инициал... 13.05.2008 18:11
andriano 1. Я уже навскидку не помню, 40/43 - это порты тай... 13.05.2008 18:42
18192123
1. Я уже навскидку не помню, 40/43 - это порты та... 13.05.2008 19:10
andriano 1. Тогда у тебя последовательность явно не случайн... 13.05.2008 19:20
18192123
1. Тогда у тебя последовательность явно не случай... 13.05.2008 20:01
18192123 Вот к чему я пришла..генерацию вставила, но програ... 15.05.2008 22:34
andriano Ты пытаешься использовать регистр bx сразу для дву... 16.05.2008 7:20
18192123 Я вынесла генерацию ПСЧ в отдельную процедуру (зна... 17.05.2008 17:17
andriano 1. Вместо "не работает" хотелось бы узна... 17.05.2008 17:30
18192123
1. Вместо "не работает" хотелось бы узн... 17.05.2008 18:07
andriano Программы целиком на ассемблере писал лет 10-15 на... 17.05.2008 20:07
18192123
У тебя программа начинатся с begin?
Как она знает... 17.05.2008 20:39
andriano Ты располагаешь какими-либо средствами трассировки... 17.05.2008 22:30
18192123
если "нет", то замени перевод курсора в... 18.05.2008 16:29
18192123 Появился ещё один вариант генерации..но снова неуд... 22.05.2008 20:55![]() ![]() |
|
Текстовая версия | 10.12.2025 16:50 |