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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 21:01   #1
Stakhoff
Новичок
Джуниор
 
Регистрация: 16.02.2011
Сообщений: 2
По умолчанию RANDOM в циклах

Вот программка выдающая 10 клонов случайного числа от 0 до 9, что в ней надо изменить, чтобы все числа были рандомные, то есть разные? Спасибо!

Код:
#include<iostream>
#include<conio.h>
#include<time.h>


using namespace std;

int main(void)
{
int a;
srand(time(0));
a = rand() %10;

for(int b=0;b<10;++b)
cout << a << endl;

_getch();
return 0;
}

Ответ найден:
Код:
#include<iostream>
#include<conio.h>
#include<time.h>
 
 
using namespace std;
 
int main(void)
{
int a;
srand(time(0));
 
for(int b=0;b<10;++b){
a = rand() %10;
cout << a << endl;
}
 
_getch();
return 0;
}
Всем спасибо!



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 05.04.2011 в 13:30.
Stakhoff вне форума Ответить с цитированием
Старый 16.02.2011, 23:29   #2
Stakhoff
Новичок
Джуниор
 
Регистрация: 16.02.2011
Сообщений: 2
По умолчанию

Вот, если кому интересно, какая программка-игра в итоге вышла
Не ругайте сильно - моя вторая

Код:
#include<iostream>
#include<conio.h>
#include<time.h>
#include <clocale>



using namespace std;

int main(void)
{
setlocale(LC_CTYPE,"Russian");
cout << "Я, Икер Касильяс - лучший вратарь мира!" << endl;
_getch();
cout << "Сможешь забить мне гол?" << endl;
_getch();
cout << "Глядя на тебя, очкарик, сомневаюсь..." << endl;
_getch();
cout << "Не думаю, что ты вообще попадёшь по мячу )))" << endl;
_getch();
cout << "Ну ладно, я даю тебе 10 попыток, давай, забей хоть раз!" << endl;
cout << " " << endl;
int a;
srand(time(0));

for(int b=0;b<10;++b)
{
a = rand() %6;
_getch();
if(a==1)
cout << "ГО-О-ОЛ!!! Да это я поддался!" << endl;
else
cout << "МИМО ))) Давай ещё!" << endl;
}


_getch();
return 0;
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 05.04.2011 в 13:30.
Stakhoff вне форума Ответить с цитированием
Старый 17.02.2011, 14:38   #3
mansp
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 52
По умолчанию

так держать))) но лучше оформи это всё в функцию
mansp вне форума Ответить с цитированием
Старый 05.04.2011, 12:03   #4
Enigma_
 
Регистрация: 04.05.2009
Сообщений: 7
По умолчанию

Подскажите пожалуйста. Написала функцию для генерации числа от 0 до 1
Код:
double RANDD()
{  
srand(time(0));
return rand()/double(RAND_MAX);
}

Теперь хочу к ней обратиться в цикле, чтоб каждый раз было новое число, а он почему-то возвращает 5 одинаковых чисел. Подскажите где ошибка?

Код:
 void __fastcall TfrmMetod::N5Click(TObject *Sender)
  {

    int j;
 
     for (j=0; j<5 ; j++)
       {
         RANDD();
         frmMetod->ListBox1->Items->Add(RANDD());
       }

 }


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 05.04.2011 в 13:31.
Enigma_ вне форума Ответить с цитированием
Старый 05.04.2011, 12:05   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

srand надо вызывать лишь один раз, в начале программы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.04.2011, 12:52   #6
Enigma_
 
Регистрация: 04.05.2009
Сообщений: 7
Хорошо

Спасибо большое. Получилось, как сама не догадалась вроде пробовала
Enigma_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c# Random BMWSauber Помощь студентам 1 16.11.2010 23:52
Random Dimarik Общие вопросы .NET 3 08.03.2010 20:26
Инкремент и декремент в циклах Nvidia Общие вопросы C/C++ 8 17.10.2009 11:54
глюк в циклах Rio309 Общие вопросы Delphi 4 05.10.2009 15:44
вопрос о циклах alexsamurai Microsoft Office Excel 9 10.01.2009 13:25