I have to make a program that simulates a lottery. The program should have an array of 5 digits named winningdigits, a randomly generated number in the range of 0 through 9 for each element in the array. The program should ask the user to enter 5 digits and should store them in a second integer array named player. The program must compare corresponding elements in two arrrays and count how many digits match.
This is an example: There are two matching digits, elements 2 and 4.
winningDigits: 7, 4, 9, 1, 3
player: 4, 2, 9, 7, 3
Print out the matches and how much money the user made.
Money made = Match(es) X 100
Example:
2 Matches = $200
So far I have this, I'm not sure how to make them match. Do I do the same type of thing for player like I did for winningDigits? I'm not really sure what to do after this?
- 3 Contributors
- forum 6 Replies
- 878 Views
- 12 Hours Discussion Span
- commentLatest Postby Ancient DragonLatest Post
Ancient Dragon5,243
Jan 10, 2016 C Lottery Numbers Generator - Duration: 5:34. DJ Oamen 5,627 views. Java Project Tutorial - Make Login and Register Form Step by Step Using NetBeans And MySQL Database - Duration: 3:43. A C tutorial about 'Logical Operators' C: Logical Operators 'If' statements provide an excellent way to do certain things under certain conditions, however sometimes more complex conditions are required to accomplish the desired goal.
I assume the array of winning digits can not contain duplicate numbers -- for example this would be illegal: 7 1 4 7 2 5 because the number 7 appears more than once. If that is correct, then you need to expand the loop on line 12 to check the array to see if the value returned by line 13 already exists in the array.
line 15: a[10] accesses one element beyond the end of the array, that is, there is no 10th element. Remember, arrays always start numbering with 0, so the last elment in that array is a[9].
Why does arry a contain 10 elements when only the first 5 are used?
You need to add something before line 15 to get user input for 5 digits. Again, you will probably want to check for duplicates.
Dev C Lottery Numbers
It probably doesn't matter if the digits in the two arrays are in the same order. So you might use a 3d array to check off the digits that appear in both arrays. You could use a bool array for that.
bool checks[5] = {false};
Dev C++ Lottery Numbers
Now loop through both the first two arrays. If the first value in the second array (user inputs) appears anywhere in the first array (winningDigits) then set checks[0] to true. Do that for each of the other digits in the user inputs array. When done, all you have to do is count the number of true values in the checks array.
Once you get all that done the rest should be fairly easy to print out.
Dev C++ Loop
Don't attempt to program all this at the same time. Do a little bit, compile, correct errors then repeat.