Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190

как все это в подробностях работает?

05.09.2013, 16:28. Показов 2905. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> 
#include<cstdlib>
using namespace std;
 
int main() 
{
    setlocale(LC_ALL, "Russian");
    int i;
    int r;
    r=rand();
for(i=0;r<=20000;i++)
    r=rand();
cout<<"число равно"<<r<<".Оно было получено на шаге "<<i<<".";
 
return 0;
        
}
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.09.2013, 16:28
Ответы с готовыми решениями:

Стек и куча: как все это работает?
Добрый вечер, подскажите пожалуйста хорошую литературу (сайты) по куче и стеку. Как оно все работает? Насколько я понял все статические...

Как это работает? Я хочу спросить как работает C++ и где можно про него почитать
Привет, котоны. Заранее благодарю. Это будет моих общих вопросов нить, т.к. создавать целую ветку для каждого нецелесообразно. Я хочу...

Русификация.Работает-супер! Обьяснитте, как это работает?
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; using namespace std; char* Rus(const char* text); int main () ...

36
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
05.09.2013, 16:32
какая строчка вызывает затруднения, тут нет каких то сложных выражений даже
1
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
05.09.2013, 16:33  [ТС]
почему если это рандом, цифры выскакивают одни и те же?
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
05.09.2013, 16:35
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
почему если это рандом, цифры выскакивают одни и те же?
потому что рандом так устроен, что бы он выкидывал разные цифры нужно еще припахать сюда часы (библиотеку time) и тогда можно будет выводить действительно разные цифры
2
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
05.09.2013, 16:39
Цитата Сообщение от VLK Посмотреть сообщение
нужно еще припахать сюда часы
рандом не зависит от "часов". Он зависит от seed'а, в качестве которого обычно подают текущее время, но это может быть любое другое (каждый раз разное) число.
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
05.09.2013, 16:41
Kastaneda, все правильно, он не зависит от часов, по этому (а может и не по этому) он выдает одни и те же значения, а если к нему прикрутить часы, то будут разные значения.
1
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
05.09.2013, 16:43
Цитата Сообщение от VLK Посмотреть сообщение
Kastaneda, все правильно, он не зависит от часов, по этому (а может и не по этому) он выдает одни и те же значения, а если к нему прикрутить часы, то будут разные значения.

А что это за шаги ? "Было получено на шаге" ?? Шаг тоже рандомный ?
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
05.09.2013, 16:46

Не по теме:

Цитата Сообщение от SNIKERSMRG Посмотреть сообщение
А что это за шаги ?
Кто то еще слышал шаги?



Шаг это итерация цикла видимо, в данном случае цикл повторяется 20000 раз, значит у него 20000 шагов
1
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
05.09.2013, 16:47
Цитата Сообщение от Raali Посмотреть сообщение

Не по теме:


Кто то еще слышал шаги?

C++
1
2
3
4
5
for(i=0;r<=20000;i++)
 r=rand();
 cout<<"число равно"<<r<<".Оно было получено на шаге "<<i<<".";
 
 return 0;
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
05.09.2013, 16:47
Книга - Как программировать на C++, автор Дейтел, страница 347 - пример программы, там при помощи time получаются разные значения, если кому то интересно.
1
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
05.09.2013, 16:49
Цитата Сообщение от VLK Посмотреть сообщение
Книга - Как программировать на C++, автор Дейтел, страница 347 - пример программы, там при помощи time получаются разные значения, если кому то интересно.

Скажите пожалуйста что это за "получено на шаге" ??

Шаг это что за число ? и каким образом шаг определяется ? тоже рандомно ? оно все время другое ?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
05.09.2013, 16:54
Цитата Сообщение от VLK Посмотреть сообщение
нига - Как программировать на C++, автор Дейтел, страница 347 - пример программы, там при помощи time получаются разные значения
Вот и покажи, что там пишут в этой книге. Для новой случайной последовательности должен быть задан сид. Обычно в качестве сида используют текущее время, но не обязательно, чтобы сид был именно временем!
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
05.09.2013, 16:58
Цитата Сообщение от SNIKERSMRG Посмотреть сообщение
Скажите пожалуйста что это за "получено на шаге" ??

Шаг это что за число ? и каким образом шаг определяется ? тоже рандомно ? оно все время другое ?
оператор for, это цикл, его условия - (i = 0; r <= 20000; i++)

i=0 - i равно 0 (изначально)
r<=20000 - цикл будет повторяться пока r меньше или равно 20000
i++ - с каждым шагом, кругом, повторение цикла i увеличивается на 1.

т.е. количество шагов тут должно быть от 0 до 20000 и учитываются они в переменной i, она и показывает количество шагов - cout<<"число равно"<<r<<".Оно было получено на шаге "<< i <<"."
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
05.09.2013, 16:58
Более того, для получения последовательности случайных чисел, srand должен быть вызван один раз!
При попытке вызывать srand(time(0)) в цикле, генератор будет сбрасываться в изначальное состояние функцией srand (учитывая, что значение time() в процессе выполнения программы особо не успевает измениться)
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
05.09.2013, 17:00
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Более того, для получения последовательности случайных чисел, srand должен быть вызван один раз!
При попытке вызывать srand(time(0)) в цикле, генератор будет сбрасываться в изначальное состояние функцией srand (учитывая, что значение time() в процессе выполнения программы особо не успевает измениться)
т.е. числа будут одинаковые?
1
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
05.09.2013, 17:03
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
for(i=0;r<=20000;i++)
r=rand();
тут все немного запутанней,
Цитата Сообщение от VLK Посмотреть сообщение
т.е. количество шагов тут должно быть от 0 до 20000
r <= 20000 означает что цикл остановится когда rand() > 20000
1
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
05.09.2013, 17:05
Цитата Сообщение от Raali Посмотреть сообщение
тут все немного запутанней,

r <= 20000 означает что цикл остановится когда rand() > 20000


Количество шагов все время равно 3-ем ? чем это определяется ?
Миниатюры
как все это в подробностях работает?  
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
05.09.2013, 17:05
Цитата Сообщение от VLK Посмотреть сообщение
т.е. числа будут одинаковые?
http://ideone.com/wEZ5ZX
2
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
05.09.2013, 17:08
Цитата Сообщение от SNIKERSMRG Посмотреть сообщение
Количество шагов все время равно 3-ем ? чем это определяется ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream> 
#include<cstdlib>
using namespace std;
 
int main() 
{
    setlocale(LC_ALL, "Russian");
    int i=0;
    int r=0;
    r=rand();
for(i=0;r<=10;i++)
{
    r=rand();
cout<<"число равно"<<r<<".Оно было получено на шаге "<<i<<".";
}
 
return 0;
        
}
Вот так сделай
1
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
05.09.2013, 17:10
Цитата Сообщение от SNIKERSMRG Посмотреть сообщение
Количество шагов все время равно 3-ем ? чем это определяется ?
тем что rand() это функция, подчиняющаяся определенным правилам, как тот же синус например, который всегда при одном и том же аргументе будет возвращать одно и то же значение, разница лишь в том что мы можем задать для rand() сид - первоначальное зерно, которое осуществит сдвиг нашей функции на другие выходящие значения, ну и еще в том что rand не имеет аргументов, а при вызове сам сдвигается по "x" как бы.
Выходит если сид будет одинаковый то rand() будет давать одну и ту же последовательность разных значений, для этого сид привязывают к каким то случайным параметрам, таким как время например.
srand(time) - задать SID равный времени
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.09.2013, 17:10
Помогаю со студенческими работами здесь

Как это работает?
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; int main() { char* s=new char; ...

Как это работает?
Здравствуйте, можете, пожалуйста, поэтапно объяснить как работает приведенный ниже фрагмент кода? Что такое floor, return, ceil? double...

Как это работает?
#include &lt;iostream&gt; int *fun() { int a = 5; return &amp;a; } int main() { int *ptr = fun(); std::cout &lt;&lt;...

Как это работает?
Читаю я кое какой &quot;учебник&quot;, и в нём появился такой вот кусок кода int input (tank&amp; t, char map) { char act; int ch; int e =...

Как это работает?
Не могу понять, как это работает: #include &lt;iostream&gt; using namespace std; int main() { int ar = {1, 2, 3, 4}; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru