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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 20:01   #1
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
Смех функция генерации случайных чисел rand() в main



нужна помощь! у меня функция rand() плохо работает, точнее она работает, но эта функция в другой функции, которая в свою очередь запускается в main() постоянно перезапускается. подскажыте способ, чтобы програма делала случайные числа, а не постоянно 1? (
вот код: (на всякий случай)
Код:
void aii ()// zdelat benzin
{
napr = rand()%4;
map [yaii][xaii] = ' ';
if (napr == 0)
{
yaii = yaii + 1;
}
else if (napr = 1)
{
yaii = yaii - 1;
}

else if (napr = 2)
{
xaii = xaii + 1;
}

else if (napr = 3)
{
xaii = xaii - 1;
}
map [yaii][xaii] = 'X';
}
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 08.02.2011, 20:14   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

1. в main сделай srand(time(0)), ведь тебе надо инициализировать генератор случайных чисел
2. используй switch, ёлки-палки. Да ещё ты = вместо == делаешь, как заметил netrino (а я-то не уследил). Правда, хороший компилятор на твой код ругнётся. Но у тебя, видимо, плохой компилятор. Или ты вэрнинги не читаешь.
3. форматируй код по-людски
4. у тебя что, napr и map — глобальные?? нафига??
5. используй ++ и --.

Вот для пунтов 2-5 исправил
Код:
/// Сделать бензин
void aii()
{
    napr = rand() % 4;
    map [yaii][xaii] = ' ';
    switch(napr) {
    case 0:
        ++yaii;
        break;
    case 1:
        --yaii;
        break;
    case 2:
        ++xaii;
        break;
    case 3:
        --xaii;
        break;
    }
    map [yaii][xaii] = 'X';
}
Правда ведь проще читать? Ещё бы переменные и функции нормально называл бы.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 08.02.2011 в 20:21.
Obey-Kun вне форума Ответить с цитированием
Старый 08.02.2011, 20:17   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
void aii()
{
    napr = rand() % 4;
    map[yaii][xaii] = ' ';
    switch (napr) {
        case 0: yaii++; break;
        case 1: yaii--; break;
        case 2: xaii++; break;
        case 3: xaii--; break;
    }
    map[yaii][xaii] = 'X';
}
У Вас ошибка была: сравнивали присваиванием. Для таких последовательных сравниваний лучше switch использовать.

//

Опоздал)
netrino вне форума Ответить с цитированием
Старый 08.02.2011, 20:50   #4
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
Вопрос

так
Цитата:
/// Сделать бензин
или всеже так:
Цитата:
//
)))

мдя, наверное я код пишу, а потом не читаю

какие нужны инклюды для srand(time(0)); ?
а то у мя 'time': identifier not found ...

ну я нубло забыл ещё = ставить

а вармингов не было

все зделал, поставил #include <ctime>
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 08.02.2011, 21:09   #5
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Правильно насчёт ctime.
Насчёт // и /// — с /** или /// принято обзывать объявления.
А раз варнингов не было, сделай -Wall. Это если у тебя mingw.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) elpilasgsm Помощь студентам 4 18.01.2011 08:23
функция генерации последовательностей kaljan775 Общие вопросы C/C++ 0 08.12.2010 00:10
Пара вопросов по генерации чисел gamer123 Общие вопросы Delphi 5 26.07.2010 17:02
Функция main и main(void) Pord Помощь студентам 1 11.12.2008 15:57