[login to view URL] the user for a random seed for the random number generator (see below for background). [login to view URL] two lists of twenty random numbers within the range 0 .. 99. [login to view URL] lists MUST be in order. [login to view URL] each list on a single line of output. [login to view URL] the Union List. [login to view URL] the Union List. [login to view URL] the Intersection List [login to view URL] the Intersection List [login to view URL] a new (third) list of 20 random integers in the range 0 .. 9. [login to view URL] list should be constructed by attached values at the head of the list; thus, it will most likely not be in order. [login to view URL] the third list. [login to view URL] all the duplicate values from the third list. [login to view URL] the third list. [login to view URL] all the odd values from the third list. [login to view URL] the third list. Note- Program must use points and nodes just to name a few.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased. To start off with a random seed to the random number generator "rand()" us something like unsigned seed; cout << "Random Seed? "; cin >> seed; srand(seed); The function rand() produces a random integer between 0 and a number called RAND_MAX. If, for example, you wish to produce only numbers between 0 and 499, you'll need to get the values from "rand() % 500". The basic node structure in the notes should be good for your linked lists: struct node { int data; node * next; node ( int dat, node * nex ) : data (dat), next(nex) {} }; The Union and Intersection functions should use InsertInOrder(?.) and bool Find(?.). void InsertInOrder ( node * & head, DataType item ) { node * previous = NULL, *current = head; for ( ; current != NULL && current->data < item; previous = current, current = current->next ); if ( previous == NULL ) //insert at head head = new node ( item, head ); else previous->next = new node ( item, current ); bool Find ( node * head, DataType item ) { node * temp = head; for ( ; temp != NULL && temp->data != item; temp = temp->next); return ( temp != NULL ); } The functions that remove all duplicates from the third list and then remove all odd values should use of the bool Find(?) function might help.
## Platform
DOS/Windows