I've been watching your C and C++ tutorials for some time now. When I don't fully understand something from my programming books, your videos are the go to videos to complement what I'm currently learning. Thank you!!
@Scottmilton1favs10 жыл бұрын
cout
@Scottmilton1favs10 жыл бұрын
Yeah, me too. Good video. :-)
@saltyman788810 жыл бұрын
std::cout
@rohinp78410 жыл бұрын
Anonim Vere-Casper ;
@gamingwithus_yt51095 жыл бұрын
return 0;
@shalinisahnimankatalia53055 жыл бұрын
@@gamingwithus_yt5109 }
@MrAnonymousCitizen11 жыл бұрын
I am know I am a bit late, but this also goes for anyone having the problem. In order to actually get a random number (I don't know why it defaults to 41 if you don't do this.) You must call srand() and give it a time. NULL gives you a random number, otherwise it uses system time. So in your main loop type: srand(time(NULL)); Hope I helped! :D
@atharvdeshpande54082 ай бұрын
i know this is super random but its been 10 years since you commented, what did you end up doing in life lol, did you continue programming?
@SeRbianPlayingGames9 жыл бұрын
if any of you guys want a formula for making random numbers from like 2 to 24 it goes like this(at least what i came up with): x+(rand()%(y-x+1)); x is the starting number, y is the ending number
@JohnnyRelentless7 жыл бұрын
It's just (rand()%22)+2. You just add whatever you want you want your lowest number to be, and you subtract that number from the maximum.
@BruceBmk7 жыл бұрын
NO seRPg is correct your method wouldn't work for bigger numbers say your Min was 1723 Max 1863 Your random numbers would run from 1723 to 1862
@gurindersingh6147 жыл бұрын
2+(rand()%24)
@bekiteru701511 ай бұрын
you rock, how did u come up with this
@jasonjjj279 жыл бұрын
Thank you so much for your video series, I'm in a c++ online class, so everything I have to learn i have to read from this huge complex book, watching your videos is helping so much. You speak clearly and explain the concepts behind it well. Thank you
@thenewboston13 жыл бұрын
@BrixXSM haha i name most of my files and classes foods. mostly whatever im in the mood for when i make the file
@4g0ny10 жыл бұрын
i am in a c++ class where the teacher is of little to no use and this is delivered in exactly the way i need for my brain to digest it. a massive thanks to you, and a subscription as well.
@Allyg300011 жыл бұрын
In order to see the seconds from 1970 or whatever just type: cout
@tranqilo64534 жыл бұрын
This lead me down a rabbit hole of computer history, thanks
@ahmadshah7512 жыл бұрын
other youtuber: "don't forget to like, comment & Subscribe" bucky: "don't forget to add your header file"
@RedsBoneStuff9 жыл бұрын
Did you know there is computer hardware that allows you to make truly random number generators? It gives you a random value that you use as a seed. It's based on things that are scientifically random (or at least we do not understand them well enough to predict them). Various quantum phenomena are an option here. Quantum mechanics include so much randomness :P
@LeoMadrid9 жыл бұрын
+RedsBoneStuff Are you referring to a Psyleron REG?
@RedsBoneStuff9 жыл бұрын
Leo Madrid Not sure what they actually are :P
@stucknsolve48753 жыл бұрын
10 years old video, but best explanation
@jaidev27175 жыл бұрын
A million second is just 12 days, Bucky.
@adamalrefai58384 жыл бұрын
pretty damn smart huh! -_-
@angelhernandezvega60644 жыл бұрын
We're living in 2020 while Bucky be living in 1970
@ddaniel.v3 жыл бұрын
im livin 12 days past 1970 too!
@BloodOrangeLover9311 жыл бұрын
Dude you just helped me pass my programming exam, this question is always at the end of the paper
@MikoPellas3 жыл бұрын
This video gave me that "ohhhhhhh" moment of understanding lol
@ThatGuyNamedBender13 жыл бұрын
i love how no matter how short/long the tutorials are from bucky I always end up spending hours watching them [=
@ben199612313 жыл бұрын
if anyone is struggling with rand(), and getting the correct range of numbers, use this: x+(rand()%(y-(x-1))) gives a random number from x to y inclusive, eg: 5+(rand()%(10-(5-1))) generates a number 5, 6, 7, 8, 9 or 10.
@lukaskocman75463 жыл бұрын
Even after 10 years, it helped me a lot
@godwinmandi87615 жыл бұрын
Print (" You Nailed It Dude, I Like The Seeding Part")
@TonyTxT4 жыл бұрын
what the hell..!! he isn't teaching python
@hetaeramancer3 жыл бұрын
@@TonyTxT haha
@andeslam73705 жыл бұрын
awesome video, much shorter and sweeter than those taught during lectures.
@Adraria89 жыл бұрын
The algorithm for random number generation is pretty simple actually. It basically involves multiplying really large numbers and taking their modulus on another really large number and using that as the next seed. Look up the linear congruential algorithm. You're vids r really helpful by the way!
@ethannguyen38404 жыл бұрын
Sitting in class for 1 hour and had no idea what the professor is teaching. Just for 9:52 watching a video and I completely understand. What a waste of paying tuitions!
@parcepabs1991 Жыл бұрын
I’ve watch like 8 9 videos and in 2 minutes you made a much more simpler code and did exactly what I was looking for
@kenosentity64554 жыл бұрын
You've been helping me since I was 13 bro.
@mohammad_bilal9514 жыл бұрын
opss man this video is 9 years old OMG and you are the best teacher online i ever had thank you very much SIR :)
@grossio55644 жыл бұрын
very MUSH WTH AND OPSS WHAT KIND OF PERSON ARE YOU
@NeilRoy10 жыл бұрын
One handy feature of srand() is you can have the user provide a number for something like a level generator for a game (this is how many level generators work, where you can provide a number and it generates the same level, minecraft does this for example). You're just providing your own seed value. This can be handy, just so you know that you don't always want to use time(). Also, random number generators are not all t hat complex. I have written my own, and the reason why I wrote my own was so that if I ported my game to another computer system (different compilers use different algorithms for rand()) I had the same code for generating random numbers on all systems and so I get the same results. You may want to have the same seed so you get the same "random" set of numbers each time for a level generator, OR, you may have a game where you want the enemies to act the same way each time it is run so the player can get used to what happens in what order and they can learn to get past certain levels, so there is a certain amount of predictability. Here is the world's smallest random number generator (there are much more complex generators out that t hat produce much better, more unpredictable results, just google it). This works nicely, try it out... *unsigned long rng_seed;* *unsigned long rng(void) {* * return ((rng_seed = (rng_seed+1)*314159265L) >> 16) & 0xFFFF;* *}* Just set *rng_seed* to whatever seed value you wish (like time() or a fixed value), and then call *rng()*, using it the same way you would *rand()*.
@ammarshah23662 жыл бұрын
Yes, I can confirm that rand() doesn't truly generates random numbers. When I first called out rand(), it printed the same 41 as yours. Btw, thanks Bucky.
@Qazqi11 жыл бұрын
If you don't call srand(), the seed is 1 by default. Therefore, every conforming implementation will give everyone the same sequence until they change the seed.
@kpippink10 жыл бұрын
Thanks for all wonderful videos Bucky. I am struggling to learn C++ for my programming class, but your videos help me a lot :D
@jackschluchter57074 жыл бұрын
This man is a better teacher than any professor ive had
@loading_wait9 жыл бұрын
the algorithm does not change every second. it changes at every call of srand(...)
@vend576 жыл бұрын
random numbers are actually generated from the garbage values that are collected when a random variable is declared but not initialized. for instance, if you want to design a rand() function yourself, just follow this code : int main() { int a[100],i=0; while(i
@samirgunic9 жыл бұрын
You would need a super accurate clock and a super fast computer to predict the seed before the computer that's generating the supposedly "random" number generates that number. You would also need the source code for the program and the function definition. It's not totally impossible, but it's not something most of us would ever want or need to do anyway. So pseudo-random numbers are good enough for most of us, and for most applications. Only a quantum computer would be able to generate truly random numbers, which is one of the reason they are hyped as the definitive solution for encryption.
@SeifOrabi10 жыл бұрын
Really enjoyed this tutorial Bucky. I've always had this problem in a simulation I was working on. But at least we know why now. As always, great tutorial!
@RyansRecording3 жыл бұрын
you explained it very well
@togmeister86049 жыл бұрын
Bucky, wouldn't that be procedural then if your using a seed? Because when you do rand() it prints same number but when you do a seed it prints same number every time you use that seed. So shouldn't this tutorial be called Random and Procedural Number Generators. When you use the seed it's a predefined value hence it's procedural.
@KFilmsProduction11 жыл бұрын
Random numbers in C++ have an algorithm, like (previous random number *((x*y + z)%n * m - k)/t ...) something like that, so the result is the same for it's first run on a computer, because it's using an algorithm, which uses constants and depends on value generated before. The probability of getting any number is almost equal, so the algorithm is considered as a random number generator. We need to change something, that bucky says :)
@TheXRealXBrapp12 жыл бұрын
And I used the loops variable to make it generate a new number EVERY time you use the function, rather than every second.
@fifaham3 жыл бұрын
@6:31 you may use the time function then use seconds and mints and probably date, mix them together or multiply them or whatever, so to make it look like more random
@Foolyfish12 жыл бұрын
THANK YOU, I really needed to know the srand function :P helped out a lot :D
@SansP3ur6 жыл бұрын
Here's an alternative random seed generator that recasts the range from 0 to 4,294,967,295, rather than − 2,147,483,648 to 2,147,483,647: srand (static_cast (time(0)));
@m4t4m0r0s3 жыл бұрын
Best video I’ve ever seen about this topic
@radnyx_games12 жыл бұрын
Yes but you would probably be using a different random, which is using different number modifications. Random isn't static, so time will only effect the random number you are generating at that time. (I'm not quite sure, but time is either updated every second or millisecond, if it's ms, then we don't have to worry, otherwise... goodluck?)
@testingnames19957 жыл бұрын
How can we print the permutations of the elements in an array? for example the permutations of the numbers 1-2-3 are the following: 1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2, 3-2-1. How would we make a program that can find and PRINT the permutations of the values that the user has added to an array? I have been trying to do that for the last couple days but i haven't been able to succeed... At this point i was only able to print random values of the elements of an array acording to the size of it. I hope you can understand what i'm trying to say and what my problem is. Any help would be appreciated! Happy coding :)
@nathliea8 жыл бұрын
I was trying to use this to generate a number between 1 and 100, so I put in %100 instead of %6, but every "random" result was divisible by 5. I am REALLY new to coding so I am sure I am doing something really wrong, but I did enjoy this tutorial even though I didn't understand most of it :)
@amygonzales83435 жыл бұрын
Ugh I finally understand how "seed" works. Bucky kicks ass!
@helloworld123213 жыл бұрын
It's 2021 you r the best❤from Bangladesh
@kevinramdass86086 жыл бұрын
Thank you so much bucky youre a lifesaver...I appreciate your work so much
@isaacsarte27083 жыл бұрын
how about generating random numbers without repetition using array? in c++
@danielodette60136 жыл бұрын
Fun fact. When I tried rand() the first time, my random number was also 41.
@valizeth40734 жыл бұрын
Because rand is a garbage function and should definitely not be used.
@SuperYtc13 жыл бұрын
@@valizeth4073 What do you think should?
@hdkimo5 жыл бұрын
i NEED help i want to generate a random array of 6 numbers ex: 6-5-31-42-27-10-15 and it has to be between 1 and 49 and i want to keep the same numbers while using the console. i dont want it to generate a new number every time i go back and forth in the menus that i created in the console but i want it to change every time i open a new console. thx
@GertSmith-w3s Жыл бұрын
Please help. Just a quick question. How did the compiler / program know that; I wanted the srand(VALUE), that was influenced by time, to be used in our 1+(rand()%6) equation? We never told it. Did we? :) BEST TUTORIAL ON THE NET. THANKS SOOOO MUCH
@tunamay01683 жыл бұрын
Thank you so much for saving a CS major student life
@nextblain13 жыл бұрын
@AlmightyMatthew no dude thats another thing, u need to use the time function that takes in systems time and plugs it in the rand function, so everytime it generates a different number :) the thing i wus talking about is universal real life thing, if u in real life picked up random numbers by hand same thing wud happen!
@johnsoto71124 жыл бұрын
why is the program only printing 21 numbers when you made the for loop 1
@Rigardoful13 жыл бұрын
If I am not mistaken , rand() is actually a recursive function. It uses the result it last generated, to generate the next. So wha t srand() actually does, is make it not take the last result, but the number provided by it, or maybe one generated after a few calculations from the number you gave in srand(). That's what I was told at my university at least, I'm in my first year in ECE department, so I am not the most reliable source :D
@TakingItCasual13 жыл бұрын
I want to scream my love for his tutorials but that'd make me look like some sort of fan boy, finishing his tutorials just fills me with... bliss.
@jhoonyk10 жыл бұрын
For more clarification on the line 11 of this video: if you use %6 (6 can be whatever number you want) is just the range you want the generated number to be. Let's say you want a range of numbers from 0 to 211, then you must use: 1+(rand()%211); If used like this: rand()%211; // would not use the last number 211 because is not included. For more clarifications, visit: www.cplusplus.com/reference/cstdlib/rand/
@321DiagnoZa5 жыл бұрын
great tutorial, I am curious to know how can I find the greatest and smallest number after the ocmputer randomly generates the numbers?
@ilbutti67962 жыл бұрын
put results in a vector, than make a function that keeps in argument that vector as const reference, than make that function with a temp value, than, starting with a for loop from vector[0] until vector[vector.size()-1] if vector[i] > tmp { tmp = vector[i] } and make it return after the whole vector has been checked (the same but with < for the smaller. (if you know that your random numbers can't be, e.g. like in this video, > 6 or < 1, you could also optimizd your function by making it return directly when it finds a 1 or a 6)
@TheCareertalk11 жыл бұрын
The number that comes out of rand() is only pseudorandom, not truly random. It basically follows a little algorithm to create numbers. It looks random, but it's not quite.
@TheCareertalk11 жыл бұрын
The numbers aren't really random. They just seem that way because the computer uses a complicated process to generate a number that seems random to humans. You need to "seed" the random number first. Bucky talks about this in the video.
@hypermeero47824 жыл бұрын
THANK YOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU ur explanation was direct into the point simple LEGENDARY
@valizeth40734 жыл бұрын
1. Avoid "using namespace std" 2. Avoid "rand", use the contents from instead.
@kfdjhnhurjnnbjhu3ip4103 жыл бұрын
no
@oiLynXTaZeQo7 жыл бұрын
Or another number generator, it can also be used for floats. Code: // Name : Main.cpp #include #include #include using namespace std; int main() { default_random_engine RandomNumberGen(time(NULL)); // Makes each number random every time the function is called uniform_int_distribution MinMax(1, 1000); std::cout
@nextblain13 жыл бұрын
FUN FACT: if u generate random numbers between 1 and 365, about only 30 of em, its almost sure that u will find 2 numbers same! (its called birthday problem from probability) awesome tut bucky! :)
@realmrjangoon5 жыл бұрын
This guy is so good, I can watch the video at 2x speed, save time and understand the whwole thing
@raszelast10 жыл бұрын
Thanks for the awesome videos. Also, would it be possible to make a completely random number generator by reading a analog to digital converter at a digit past its accuracy limit? Basically reading the noise?
@vexion1511 жыл бұрын
This was SOOOO helpful!!! :D I was getting ready to ask a question, but then you went and answered it before the video was over!
@asafel10 жыл бұрын
love your videos!!! thank a alot!
@Zovioh12 жыл бұрын
Bucky, you are officially who I'm learning my programming from now. The book I got is horrible and your channel separates the topics much better, so I can easily find what I need for my program.
@pby10008 жыл бұрын
How is the value of srand(time(0)) being related to rand()? I hope this is clear. He does not use srand in the cout statement...
@Shawn_White6 жыл бұрын
The problem with using time() is that there are only 86400 seconds in a day making it possible to calculate every seed for a 24 hour period with relative ease.
@onelerv113 жыл бұрын
This is by far the best explaination of rand() I've ever seen, seriously bucky very very well done man.
@SuperSebatube7 жыл бұрын
Hi, Bucky, congrats for this works. I hava a questions about the number 5, what is the case?. Greetings.
@lorenzorosales29164 жыл бұрын
Thanks!!!!!! You explanation is clear and very helpful.
@RealCoDeR3 жыл бұрын
Very good video . Waiting for Python programming ⌛
@meloon28798 жыл бұрын
you are the best! Keep doing these videos plzzzzzzzzzzzzzz!!!!!!!! love the way you teach and your humour is the best!
@Rawoonah2cool7 жыл бұрын
thanks dude,short and sweet tutorial
@Futureblur4 жыл бұрын
Just as sweet as your profile pic :D
@arnold94488 жыл бұрын
You're amazing in teaching! Love it!
@yousefgamal45573 жыл бұрын
Your video was amazing, keep up the good work. I appreciate that, man.
@crazystorm136111 жыл бұрын
It takes the actual number it generates and divides it by six and give you the remainder so say.. it generated 38, the %6 would then take 38 and divide it by six but wait... 6 doesn't go into 38 evenly so it'd put as many sixes as it can into 38 and then when there is no more room for another six (when it is 36) it will show the remainder 2. (38-36=2) so then your randomly generated number is 2. Hope that helps some
@willymynilly19638 жыл бұрын
is x the random num now .....so if you type cout
@xbz242 жыл бұрын
Bucky u are truly a god love you fella, SIMPLE ENOUGH
@Geeksunitedvideos12 жыл бұрын
@1Razerkey It can still be predicted, in a sense. Try making an srand time generator, and running it every few seconds. The value changes in predictable amounts, unless you're using another function, like the modulus.
@moharjana8 жыл бұрын
Sir You are cool and awesome :)
@StevenSenjaya5 жыл бұрын
But if you make srand(time(0)); x = (rand()%10)+1; cout
@splinter18175 жыл бұрын
use for loop!! for (int i = 0 ; i
@AlbanianGamer3138 жыл бұрын
There is a big problem with the rand() function, because : 1. It doesnt print out uniforme numbers. So if you want it to print a number from 1-99, or if you make a program to split all numbers avaible (integer type) , if wont be uniforme, because the maximum is 32767 ( for rand() ), and all the other divisions will be from 1-99 , 100-199, so like 1-99, but the last one will be 1-67. So this isnt uniforme. 2. If you use srand((NULL)) , if you have worldwide program, with milllions of people running it, the number generated will be the same, for every person who runs the program in the same second. Better use one of the generators from the library
@saraesmayili5 жыл бұрын
why everytime i use sand(number); before my for loop i got same numbers repeatedly in my result ?
@inx18195 жыл бұрын
Seed the RNG with time(0) like this srand(time(0))
@angelhernandezvega60644 жыл бұрын
you should have watched the whole video
@qzer199012 жыл бұрын
Most enlightening tutorial in a while, thanks man. But what functions do i.e. slot machines use? Probably not a simple rand() I guess. (;
@blind_neighbourhoodNerd5 жыл бұрын
excellent video man Thanks so much
@farhatmohammadi72248 жыл бұрын
I love you Bucky !
@dikukhanikar28373 жыл бұрын
Wow... your explanation is sooo good
@aniketfuryrocks5 жыл бұрын
Computers never create a truly random number .... Nothing is random in this world
@donlansdonlans33635 жыл бұрын
And reality is an illusion, the universe is a hologram
@matthewgalema82545 жыл бұрын
Except quantum mechanics. Example: where you would find an electron around a nucleus is random and not deterministic.
@fatimahasan34104 жыл бұрын
how do you add those random generated numbers together?? please help !!!
@TheDoctow11 жыл бұрын
Because srand is a function in another class. Obviously, judging from the error, it is of type void. What you should do is delete "int s =" because you can't, and shouldn't, assign a function as a variable.
@darry37797 жыл бұрын
Instead of - cout
@burhanuddin9594 жыл бұрын
It's the same thing
@hdkimo5 жыл бұрын
How do i make a function that detect if i already used a number ex: i type 1-2-3-3-4-5 i want it to give an error to tell me that i already used the number 3. thx
@Impulse_Photography4 жыл бұрын
use an array of int. each element will hold a - 0 - or - 1- [ had been used / or hadn't] This is the basis for my CardShuffle() I use.
@tlc13bau94 жыл бұрын
Can we use srand(rand()) ; For complete randomness
@jasonl11848 жыл бұрын
I have integers 0 - 25, and I want to put them in a randomly ordered list (presumably a vector). Any ideas how to do this?
@tony23519927 жыл бұрын
you are randomly amazing. love your videos man keep it UP
@jammes3278 жыл бұрын
Guys if you want to have the number 0 to below 6 then #include #include #include using namespace std; int main(){ srand(time(0)); for (int a=0; a