Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   help me with random selection (http://www.go4expert.com/forums/help-random-selection-t592/)

tomoyo_13m 17Feb2006 14:32

help me with random selection
 
i have a case study....
my prof said that we should display 10 random numbers without repeating the same number for example the screen will print numbers from 0-9 at this order

1 6 7 5 2 3 4 9 8 0

then when we exit the program it should print another random number... plss help i needed it very badly


ahm... my idea is having a 3 for loop the first loop will generate the 10 random numbers from 0-9 and the second loop will check if the number that was generated before is already in the array and it will check if the it is the last in the array,if it generate the second number and compare it to the first number and it check that it is the same it will generate again...i need a counter in this program but i dont know hoe to do the second loop im thingking of doing a while loop instead of for loop

coderzone 17Feb2006 15:29

Re: help me with random selection
 
This seems to be a very simple problem.

Does your program needs random number between 0-9 or it can be any random no not being repeated.

Also you dont need 3 loops but 2 will do using the break and continue statement. Here is the sample of what you are looking for probably
Code: c

int i=0,j=0,r;
int arr[10];
int flag = 0;
for(i=0;i<10;)
{
    r = rand();
    if(r < 10)
    {
        flag = 0;
        for(j=0;j<i;j++)
        {
            if(arr[j] == r)
            {
                flag = 1;
                break;
            }
        }
        if(flag == 1)
            continue;
        arr[i] = r;
        printf("%d ",r);
        i++;
    }
}
printf("\n");


tomoyo_13m 18Feb2006 08:49

Re: help me with random selection
 
it needs to print 10 number from 0-9 without repeating.. not nessesarily 0-9 it can be 11-20 as long as it display 10 numbers without repeating

shabbir 18Feb2006 12:42

Re: help me with random selection
 
Quote:

Originally Posted by tomoyo_13m
it needs to print 10 number from 0-9 without repeating.. not nessesarily 0-9 it can be 11-20 as long as it display 10 numbers without repeating

The above program by coderzone does exactly same. If you need the range to be between any definite set change the condition accordingly.

coderzone:
Its always good to help somebody with the program logic but its not good to put the complete program as a whole so that he does not need to anything but just copy and paste.

coderzone 18Feb2006 13:08

Re: help me with random selection
 
Quote:

Originally Posted by shabbir
Its always good to help somebody with the program logic but its not good to put the complete program as a whole so that he does not need to anything but just copy and paste.

I agree but the problem is so small that just giving the hints resulted in the complete program.


All times are GMT +5.5. The time now is 05:23.