Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 18:09   #1
Revenholm
 
Регистрация: 18.04.2009
Сообщений: 8
По умолчанию rand() ?????

нород, объясните мне точно, что это будет делать:
Код:
srand((unsigned) time(&t) );
for (i = 0; i < N; i++)
 a[i] = rand() % 10 + 48;
Что конкретно будет делать 3-я строчка?

Последний раз редактировалось MaTBeu; 26.04.2009 в 14:25.
Revenholm вне форума Ответить с цитированием
Старый 25.04.2009, 18:12   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Что конкретно будет делать 3-я строчка?
Код:
a[i] = rand() % 10 + 48;
Элементу массива a[i] будет присвоено случайное число от 48 до 57.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 18:28   #3
Revenholm
 
Регистрация: 18.04.2009
Сообщений: 8
По умолчанию

так значит если N = 3, то каждому из 3-х элементов будет присвоено такое случайное число? А мне надо, чтобы было случайным 3-х значное число. Я набрам именно так, вроде работает,а как не пойму.
Revenholm вне форума Ответить с цитированием
Старый 25.04.2009, 18:31   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
так значит если N = 3, то каждому из 3-х элементов будет присвоено такое случайное число? А мне надо, чтобы было случайным 3-х значное число. Я набрам именно так, вроде работает,а как не пойму.
Из этих слов я делаю вывод, что a - массив символов. И вы хотите получить случайное 3-значное число, сгенерировав каждую цифру.

Если вам нужно именно число, то можно сделать так:
Код:
int chislo;
chislo = rand()%900 + 100;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 18:38   #5
Revenholm
 
Регистрация: 18.04.2009
Сообщений: 8
По умолчанию

а если генерировать поцифорно?
Revenholm вне форума Ответить с цитированием
Старый 25.04.2009, 18:39   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а если генерировать поцифорно?
Вы это и делаете.
В результате получается число в виде строки.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 18:44   #7
Revenholm
 
Регистрация: 18.04.2009
Сообщений: 8
По умолчанию

a[i] = rand() % 10 + 48 - это и есть генерировать поцифорно?
Значит генерирует число от 1 до 9 и переходит "как-бы" на слеедующий разряд N раз?
Revenholm вне форума Ответить с цитированием
Старый 25.04.2009, 18:47   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

функция rand возвращает случайное число от 0 до 32767.
Затем берется остаток от деления на 10. Так мы получаем случайное число от 0 до 9. Потом прибавляем 48 и получаем ASCII код нужной цифры. Этот символ помещается в элемент массива a[i].
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
rand в Win Forms App alexov Общие вопросы C/C++ 1 28.03.2009 15:30
Проблема с rand() TheWanderer Общие вопросы C/C++ 5 21.12.2008 23:38
rand() и random() в разных средах KapeLLaN Общие вопросы C/C++ 2 22.02.2008 21:01