2 / 2 / 1
Регистрация: 04.12.2008
Сообщений: 34
|
|
1 | |
rand05.12.2008, 15:15. Показов 17146. Ответов 8
Метки нет Все метки)
(
как написать функцию с rand чтобы при каждом вызове этой функции рандомизация проходила заново...тоесть:
Код
int rcard; int RandNumb() { rcard=1+srand() % 13; return rcard; }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
05.12.2008, 15:15 | |
Ответы с готовыми решениями:
8
Какое распределние у rand и rand_s??? srand() и rand() не работают должным образов Как исключить определенные числа из диапазона для функции rand() Функция rand |
617 / 22 / 0
Регистрация: 30.09.2007
Сообщений: 357
|
|
05.12.2008, 17:41 | 2 |
Код
//Randomize.cpp : Defines the entry point for the application. // #include "stdafx.h" #include <STDLIB.H> int Randomize(int nMax, bool range); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. char szText[MAX_PATH]; wsprintf(szText,"%d",Randomize(16,TRUE)); MessageBox(NULL,szText,"Randomize",MB_OK); return 0; } int Randomize(int nMax, bool range) { srand(GetTickCount()); int random_integer = (rand()%nMax); if(range){random_integer++; return random_integer;} return random_integer; }
1
|
2 / 2 / 1
Регистрация: 04.12.2008
Сообщений: 34
|
|
05.12.2008, 17:44 [ТС] | 3 |
ухты ёпт)а проще никак нельзя?)
0
|
15 / 14 / 2
Регистрация: 02.09.2008
Сообщений: 168
|
|
05.12.2008, 18:49 | 4 |
srand(time(0)); вызови в main() незабуть подключить библиотеку <time.h>
int rcard; int RandNumb() { rcard=1+rand() % 13; return rcard; }
2
|
2 / 2 / 1
Регистрация: 04.12.2008
Сообщений: 34
|
|
05.12.2008, 19:42 [ТС] | 5 |
тоесть srand(time(0)); в самом main() прописывать а функцию уже де хочу там и прописываю?спс ща проверю
Добавлено через 15 минут 20 секунд оо пасиб огромное все работает норм Добавлено через 34 минуты 11 секунд Хм...чет я не подумал о след момент мне нада вызвать эту функцию 2 раза в начале и результат первой и результат второй над чтобы потом додался... эт можно зделать? Кароче должно быть так запустил программу выдало 2 рандомных числа от 1 до 13 и сразу их сумму потом при вводе '1' надо чтобы опять рандомнулось еще одно число и опять додалось к сумме первого и второго числа.
0
|
15 / 14 / 2
Регистрация: 02.09.2008
Сообщений: 168
|
|
05.12.2008, 23:28 | 6 |
м зделаи опять же в main() цыкл на прибовление возрощаемого значение или отдельную функцию.
типа Код
void main(){ int sum=0; for(int i=0;i<(ввести кол-во раз прибовлять к результату);i++) { sum+=RandNumb(); } cout<<sum<<'\n'; } }
0
|
2 / 2 / 1
Регистрация: 04.12.2008
Сообщений: 34
|
|
06.12.2008, 00:01 [ТС] | 7 |
ну об этом я конечноже думал в первую очередь но srand(time(0)); вроде каждый раз при вызове функции RandNumb даёт ей новое значение и поэтому когда выводятся 2 рэнд функции они имеют одно значение а когда эти функции додаются они опять рандомизуются и меняют своё значение
Код
unsigned short int rcard; unsigned short int RandNumb() { rcard=1+rand() % 13; return rcard; } int main() { srand(time(0)); int RandNumbSumU; cout<<"Your Have:"<<setw(33)<<"Sum:\n"; cout<<RandNumb()<<" and ";////////////////////////1 cout<<RandNumb()<<setw(36);///////////////////////2 RandNumbSumU=RandNumb()+RandNumb(); cout<<RandNumbSumU;////////////////////////////сума 1,2 поєтому приходится отключать srand(time(0)); и создавать кучу одинаковых функций только с разными названиями типа Код
unsigned short int RandNumb1() { rcard=1+rand() % 13; return rcard; } unsigned short int RandNumb2() { rcard=1+rand() % 13; return rcard; } Код
#include "stdafx.h" #include "iostream.h" #include "iomanip.h" #include "stdlib.h" #include "time.h" unsigned short int rcard; unsigned short int RandNumb1() { rcard=1+rand() % 13; return rcard; } unsigned short int RandNumb2() { rcard=1+rand() % 13; return rcard; } unsigned short int RandNumb3() { rcard=1+rand() % 13; return rcard; } int main() { //srand(time(0));//ОТКЛЮЧАЕМ int RandNumbSumU; cout<<"Your Have:"<<setw(33)<<"Sum:\n"; cout<<RandNumb1()<<" and ";////////////////////////1 cout<<RandNumb2()<<setw(36);///////////////////////2 RandNumbSumU=RandNumb1()+RandNumb2(); cout<<RandNumbSumU;////////////////////////////сума 1,2 cout<<"\n Hit - 1 Stand - 2\n";//// int press; loop1:cin>>press; if (press==1) { cout<<RandNumb1()<<" and "<<RandNumb2()<<" and "<<RandNumb3();//3 RandNumbSumU+=RandNumb3(); cout<<setw(30)<<RandNumbSumU<<"\n";//////////////////////сумма 1,2,3 return 0; } if (press==2) { cout<<"You standed and you have "<<RandNumbSumU<<"\n"; return 0; } else goto loop1; return 0; }
0
|
Smart is the new Sexy
32 / 32 / 1
Регистрация: 29.12.2008
Сообщений: 109
|
||||||
03.01.2009, 17:01 | 8 | |||||
Здесь генератор случайных чисел от 1 до 6. ![]()
0
|
15 / 14 / 2
Регистрация: 02.09.2008
Сообщений: 168
|
|
03.01.2009, 17:41 | 9 |
srand всегда будет показывать разные значения
0
|
03.01.2009, 17:41 | |
Помогаю со студенческими работами здесь
9
Rand() rand Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |