|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
02.03.2017, 08:23 | #1 (permalink) |
Новичок
Регистрация: 26.02.2017
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Объясните строки кода
#include <iostream> #include <ctime> int fun () { static unsigned int num = 0; num++; return num % 2; } int myrand () { int random = rand () % RAND_MAX; int mynum = 0; for (int i = 0; i < random; i++) { mynum += fun (); } return mynum; } int main () { srand (time (NULL)); for (int i = 0; i < 30; i++) printf ("%d\n", myrand ()); return 0; } |
02.03.2017, 08:23 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вот подборка тем которые успешно обсуждаются Спроектировать преобразователь кода Знак абзаца без кода Помощь в исправлении кода на С# Создание штрих кода Комментирование кода |
02.03.2017, 19:30 | #3 (permalink) |
Новичок
Регистрация: 26.02.2017
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
static unsigned int num = 0; //объявляем статическую переменную числа, которая в теле функции не будет изменяться
num++; //увеличиваем значение return num % 2; //возвращаем число и ... int myrand () { int random = rand () % RAND_MAX; //выводим числа рандомна int mynum = 0; for (int i = 0; i < random; i++) // ... { mynum += fun (); } return mynum; } int main () { srand (time (NULL)); for (int i = 0; i < 30; i++) printf ("%d\n", myrand ()); return 0; } |
02.03.2017, 20:43 | #5 (permalink) |
Новичок
Регистрация: 26.02.2017
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
02.03.2017, 23:10 | #6 (permalink) | |
Радиоинженер
Регистрация: 25.09.2012
Адрес: г.Дзержинск Нижегородской обл.
Сообщений: 25,273
Записей в дневнике: 7
Сказал(а) спасибо: 291
Поблагодарили 219 раз(а) в 70 сообщениях
Репутация: 110185
|
Цитата:
А у каждого числа имеется переменная? А почему она не будет изменяться? Она же переменная... Почитайте конструкцию оператора цикла For для Си и всё поймете. |
|
08.01.2018, 15:27 | #8 (permalink) |
Новичок
Регистрация: 07.01.2018
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Хоть я и не от мира сего, но позвольте дать ВАМ ещё один совет.
Р. Лафор "Объектно-ориентированное программирование в С++" Почитайте и ВЫ найдёте ответы на свои вопросы. |
14.01.2018, 19:31 | #10 (permalink) | |
Member
Регистрация: 10.01.2018
Сообщений: 36
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
Код:
int fun () { static unsigned int num = 0; num++; return num % 2; } - будет инкрементироваться, сохраняя своё значение между последовательными вызовами fun() - именно из-за объявления static - а возвращаемое fun() значение будет чередоваться через каждые 2 последовательных вызова ... примерно вот так: 1, 0, 1, 0, 1, 0 ... и так далее. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|