|
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 43
|
||||||
Функция rand()26.07.2020, 13:42. Показов 3312. Ответов 42
Метки нет (Все метки)
День добрый, у меня вот такое задание, многомерный массив [4][4] заполнить числами либо 0 либо 1, потом вывести все квадратом, и проверить если есть 0 который окружен со всех сторон единицами, свверху, снизу, слева справа, и побокам сверху и снизу, если такой 0 найден, то программа должна вывести индекс нуля в многомерном массиве
Например в многомерном массиве 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 Должно вывести (0,0) (0,3) (2,1) Всё это я сделал и думаю могу сдать задание но в моем решении меня кое что не устраивает
0
|
||||||
| 26.07.2020, 13:42 | |
|
Ответы с готовыми решениями:
42
Не работает функция rand()? |
|
6 / 6 / 4
Регистрация: 14.01.2016
Сообщений: 164
|
|
| 28.07.2020, 12:24 | |
|
Annemesski, либо я вас не понял, либо вы меня. Я не спрашивал для чего нужна функция
srand. Меня интересует для чего были применены приведение типа (unsigned int) и деление /2 при вызове этой функции.
0
|
|
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||
| 28.07.2020, 12:33 | ||
|
asbvic, это Вас Мама Стифлера приколол
unsigned чтобы не выслушивать ворчание (warning) компилятора, так как он сообщит о несоответствии типов unsigned int который принимает функция rand() и time_t которое на самом деле long long int которое возвращает функция time() то есть компилятор будет говорить о signed/unsigned mismatch.Зачем он делит на 2? Ну вот, душа у человека широкая и загадочная, не судите его за это )))
1
|
||
|
из племени тумба-юбма
|
||
| 28.07.2020, 12:45 | ||
|
0
|
||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
|||||||
| 28.07.2020, 13:00 | |||||||
|
мама Стифлера, чуток попутал, там не
signed/unsigned mismatch, а conversion from _Ty1 to _Ty2: possible loss of data - возможна потеря данных при конвертации типов, поскольку time_t это long long - 64 бита, а unsigned int может быть и 32.
0
|
|||||||
|
6 / 6 / 4
Регистрация: 14.01.2016
Сообщений: 164
|
||||||||
| 28.07.2020, 13:02 | ||||||||
0
|
||||||||
|
из племени тумба-юбма
|
|
| 28.07.2020, 13:12 | |
|
0
|
|
|
6 / 6 / 4
Регистрация: 14.01.2016
Сообщений: 164
|
|
| 28.07.2020, 13:16 | |
|
У меня лишь есть предположение, что на некоторых системах число, возвращаемое функцией
time, всегда четное. Из-за этого будет выпадать половина возможных цепочек псевдослучайных чисел. И за счет деления это исключают.
0
|
|
|
из племени тумба-юбма
|
|
| 28.07.2020, 13:20 | |
|
Да пусть stake-k26 сам скажет, если конечно захочет
0
|
|
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||
| 28.07.2020, 13:22 | ||
|
0
|
||
|
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,339
|
||||||||
| 28.07.2020, 13:30 | ||||||||
|
Функция srand() определена в stdlib.h и ее прототип выглядит как: void srand (unsigned int __seed); нас из этого интересует только тип данных аргумента __seed, и он, как видно из прототипа unsigned int теперь смотрим на функцию time(), прототип которой скрывается в недрах time.h: time_t time (time_t *__timer); И снова, нас интересует только тип данных, возвращаемых функцией, и он у нас time_t Ну а теперь нам осталось совсем немного для обретения полного дзена:
4 - 8 4 - 4 Как мы видим из вывода нашей тестовой программы, time_t вдвое больше unsigned int. И при конвертировании в unsigned int он будет урезан вдвое, а зачем его урезать, если можно просто разделить на 2 и получить по сути тот же самый __seed, который легко поместится в unsigned int? Конечно же, реализация типов данных отличается на разных платформах, и стандарт вовсе не гарантирует, что time_t всегда будет вдвое больше, тем не менее на большинстве платформ эта ситуация сохраняется. И да, некоторые компиляторы сыпят ошибкам при отсутствии явного приведения типа. Так что мне проще написать чуть более длинную строчку для srand и навсегда забыть о разнице платформ, разнице реализаций стандарта и капризах разных компиляторов. Никаких широких и тем более загадочных душ - простой прагматизм.
1
|
||||||||
|
из племени тумба-юбма
|
|
| 28.07.2020, 13:35 | |
|
0
|
|
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||
| 28.07.2020, 13:42 | ||
|
Добавлено через 1 минуту мама Стифлера, думал у Вас студия, тогда гуглите как в вашей IDE включить этот варнинг.
0
|
||
|
6 / 6 / 4
Регистрация: 14.01.2016
Сообщений: 164
|
|||||||
| 28.07.2020, 14:10 | |||||||
|
Annemesski, в любом случае спасибо за ответ, но к сожалению это не убедительно. Уж очень "смешная" защита получается, тем более когда большинство именно так и делают (по крайней мере советуют так делать). В таком случае совсем не сложно сделать так:
Пока мне кажется что деление на два делается не для защиты. Annemesski, вы можете сослаться на какой-нибудь доверительный источник, чтобы хоть как-то в этом убедиться? Добавлено через 3 минуты Добавлено через 8 минут Annemesski, в случае деления на два защита даже ухудшается - повышается шанс перехватить нужное число, выражающее время (ведь частота смены этого числа снижается вдвое). (Если конечно я все правильно понимаю.)
0
|
|||||||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||||||
| 28.07.2020, 14:16 | ||||||
|
asbvic, тут скорее вопрос к источникам в которых производят это деление, я вот напротив таких не встречал, всегда видел использование вида
0
|
||||||
|
6 / 6 / 4
Регистрация: 14.01.2016
Сообщений: 164
|
|||||||
| 28.07.2020, 14:32 | |||||||
|
Наверно по качеству защиты будет тоже самое (что я писал выше):
Добавлено через 7 минут
0
|
|||||||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
|
| 28.07.2020, 14:44 | |
|
asbvic, с точки зрения безопасности srand()/rand() в голом виде вообще смешно использовать, они годятся разве что для учебных поделок, генерации тестировочных данных или для реализации собственных генераторов с преферансом и куртизанками.
Истинно случайные по ходу дела только там где бессилен демон Лапласса, то есть в квантово-механических процессах.
1
|
|
|
6 / 6 / 4
Регистрация: 14.01.2016
Сообщений: 164
|
|||
| 28.07.2020, 15:00 | |||
|
Не по теме:
Добавлено через 3 минуты
0
|
|||
|
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
|
||
| 28.07.2020, 15:24 | ||
|
Не по теме: asbvic, нет, это не гипотеза, классический пример: если возмем монетку и будем ее подбрасывать, то подразумевается что шанс аверса или реверса 1/2, но так как идеальной монеты не существует, то как бы мы не вымеряли ее баланс и условия подбрасывания (скажем в вакууме) то ни баланс ни вакуум в идеале не достижимы, а значит мы можем только приближаться к вероятности 1/2 но достигнуть ее увы не удастся. С другой стороны, если мы возмем квантовую систему, скажем из двух спутанных фотонов проекции спинов которых строго противоположны, то, в виду того что для них строго соблюдается закон сохранения пространственной четности, если мы будем измерять проекцию спина одного из спутанных фотонов, то он окажется "правым" или "левым" с вероятностью 1/2 точно, этот и подобные этому принципы используются в аппаратных генераторах случайных чисел Добавлено через 6 минут
0
|
||
| 28.07.2020, 15:28 | |
|
0
|
|
| 28.07.2020, 16:22 | |
|
0
|
|
| 28.07.2020, 16:22 | |
|
Как устроена функция rand()
Функция rand не генерирует случайные числа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|