![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
suriv |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 234 Пол: Мужской Реальное имя: AHTOH Репутация: ![]() ![]() ![]() |
Задача:
Дан массив из 50 чисел. Заполните его случайными числами. Вывести на экран сначала все положительные его элементы, а затем все отрицательные.Задача не сложная решить наерно могу. Заполните случайными числами: ![]() типа это m[i]:=random(???) как как "включить" отрицательные числа? :p2: =================================================== P.S допустим если я хочу положительными заполнить будет например: m[i]:=random(300); А если отрицательными? Не будет же: m[i]:=random(-100+200) или как там Сообщение отредактировано: suriv - 28.10.2004 16:07 -------------------- Хочу в репу !
Cмотри,а то ведь получишь! Админ. Не получит - его фиг догонишь! Админ №2. P.S Вы еще третьего админа притащите сюда :D ваш аффтар :D Звали? :D (админ № не помню какой) ха больше нифига не напишете афтар Уверен? (Moderator) А еще можно ? (супмодер) Хватит его мучать ! Избили уж... (админ) Не хватит. я тоже напишу (тоже Админ) |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
иногда нужно брать число и умножать на -1. ТОгда иногда будут случайные отрицательные...
Например N:=random(100); If random(2) =1 then N:=-N; Иногда будут выскакивать (а именно в 50 % случаев) отрицаетльные... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
APAL |
![]()
Сообщение
#3
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(Oleg_Z @ 28.10.04 17:09) иногда нужно брать число и умножать на -1. ТОгда иногда будут случайные отрицательные... Например N:=random(100); If random(2) =1 then N:=-N; Иногда будут выскакивать (а именно в 50 % случаев) отрицаетльные... Не так.... N:=300-random(600); -------------------- |
suriv |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 234 Пол: Мужской Реальное имя: AHTOH Репутация: ![]() ![]() ![]() |
на этом сайте написано:
Цитата Однако нужно было придумать, как в функции Random получить отрицательные числа. Для этого есть очень простой алгоритм, а точнее даже и не алгоритм, а прием. Выглядит это примерно так: A := Random(101)-50; {Числа от -50 до 50} B := Random(101)-200; {от -100 до 100} Как вы видите, для получения диапазона чисел вида -N....N мы отнимаем от функции Random число, вдвое большее ее диапазона. === Цитата N:=300-random(600); Это значит числа будут от -300 до 300??? Сообщение отредактировано: suriv - 28.10.2004 16:25 -------------------- Хочу в репу !
Cмотри,а то ведь получишь! Админ. Не получит - его фиг догонишь! Админ №2. P.S Вы еще третьего админа притащите сюда :D ваш аффтар :D Звали? :D (админ № не помню какой) ха больше нифига не напишете афтар Уверен? (Moderator) А еще можно ? (супмодер) Хватит его мучать ! Избили уж... (админ) Не хватит. я тоже напишу (тоже Админ) |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата Не так.... Позволь с тобой не согласится, Апал, так тоже можно... другое дело как лучше для конкретного случая ... Но метод умножения на отрицатекльное число (случайно) тоже иногда применяется... Твой метод более точен, но мой метод позволяет задать вероятность получения случайного числа... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
APAL |
![]()
Сообщение
#6
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
не вероятность получения случайного числа, а вероятность получения отрицательного или положительного числа.
Результат по статистике будет тем же. (если считать что random генерит именно случайные, а не псевдослучайные числа) -------------------- |
suriv |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 234 Пол: Мужской Реальное имя: AHTOH Репутация: ![]() ![]() ![]() |
на этом сайте написано:
Цитата Однако нужно было придумать, как в функции Random получить отрицательные числа. Для этого есть очень простой алгоритм, а точнее даже и не алгоритм, а прием. Выглядит это примерно так: A := Random(101)-50; {Числа от -50 до 50} B := Random(101)-200; {от -100 до 100} Как вы видите, для получения диапазона чисел вида -N....N мы отнимаем от функции Random число, вдвое большее ее диапазона. === Цитата N:=300-random(600); Это значит числа будут от -300 до 300? Сообщение отредактировано: suriv - 28.10.2004 16:38 -------------------- Хочу в репу !
Cмотри,а то ведь получишь! Админ. Не получит - его фиг догонишь! Админ №2. P.S Вы еще третьего админа притащите сюда :D ваш аффтар :D Звали? :D (админ № не помню какой) ха больше нифига не напишете афтар Уверен? (Moderator) А еще можно ? (супмодер) Хватит его мучать ! Избили уж... (админ) Не хватит. я тоже напишу (тоже Админ) |
APAL |
![]()
Сообщение
#8
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
suriv
да -------------------- |
Digitalator |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Это значит числа будут от -300 до 300? Цитата да нет ![]() надо Код N:=300 - random(601) -------------------- |
suriv |
![]()
Сообщение
#10
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 234 Пол: Мужской Реальное имя: AHTOH Репутация: ![]() ![]() ![]() |
?
![]() -------------------- Хочу в репу !
Cмотри,а то ведь получишь! Админ. Не получит - его фиг догонишь! Админ №2. P.S Вы еще третьего админа притащите сюда :D ваш аффтар :D Звали? :D (админ № не помню какой) ха больше нифига не напишете афтар Уверен? (Moderator) А еще можно ? (супмодер) Хватит его мучать ! Избили уж... (админ) Не хватит. я тоже напишу (тоже Админ) |
Digitalator |
![]()
Сообщение
#11
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: ![]() ![]() ![]() |
random возвращает целое число x в интервале [0,n), где n указывается в качестве параметра. Если параметр не задан, то x-дробное, и xE[0,1).
Поэтому random(600), будет возвращать числа в [0,599], а random(601) в [0,600] вычитая это из 300, в первом случае получаем [-299,300], а во втором [-300, 300] -------------------- |
GoodWind |
![]()
Сообщение
#12
|
![]() Автооответчик ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Suriv, не забывай, что ноль это тоже число.
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 21:18 |