Sponsored Content
Top Forums Programming C Help; generating a random number. Post 302360583 by Zykl0n-B on Friday 9th of October 2009 11:08:02 AM
Old 10-09-2009
As Corona688 says,
If you use the same value to generate a "random" value, the algorithm is always going to perform the same operation with the same number, so, you need to parse values which are always going to be different, and yes, with gettimeofday() you can parse system time in nanoseconds to get a different number every nanosecond.

Try this:

Code:
#include <stdio.h>
#include <time.h>
#include <sys/time.h>

int main(void){
int i;
unsigned int value;
struct timeval tv;
struct timezone tz;
struct tm *tm;
tm = localtime(&tv.tv_sec);

for(i = 0;i < 30; i++){
gettimeofday(&tv, &tz);
value = rand_r(&tv.tv_usec);
printf("%i\n", value);
}
return(0);
}

Zykl0n-B
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

generating random numbers with hamming distance 4

Hi I want to genrate 10 random 32 bit binary numbers with hamming distance 4 and 8. 11010110010101010101010101010101 11010110010101010100010101010010 if we look carefully at these two binary numbers they differ at 4 places hence hamming distance 4. Now I want to genrate these numbers... (2 Replies)
Discussion started by: hack_tom
2 Replies

2. Shell Programming and Scripting

Generating random number within a specific range (0.5-1.5)

Hello, need a way to generate numbers within 0.5-1.5 range Has to be totally random: 0.6 1.1 0.8 1.5 0.6 and so on.... How to? (10 Replies)
Discussion started by: TehOne
10 Replies

3. Shell Programming and Scripting

Generating random numbers

Hi, I am having trouble with generating random numbers. can this be done with awk? So I have a file that looks like this: 23 30 24 40 26 34 So column1 is start and column2 is end. I want to generate 3 random #'s between start and stop: So the output will look like this: ... (9 Replies)
Discussion started by: phil_heath
9 Replies

4. Programming

generating 16 digit random number in C

Hi, How can we generate 16 digit random nos in C. (10 Replies)
Discussion started by: ajaysahoo
10 Replies

5. Programming

Generating Random Number in Child Process using Fork

Hello All, I am stuck up in a program where the rand functions ends up giving all the same integers. Tried sleep, but the numbers turned out to be same... Can anyone help me out how to fix this issue ? I have called the srand once in the program, but I feel like when I call fork the child process... (5 Replies)
Discussion started by: manisum
5 Replies

6. UNIX for Dummies Questions & Answers

Generating 512MB file with dd using random data

Hello. Could anyone help me with my little annoying problem? I have to generate a 512 MB file made up with random data using DD. After some internet digging I found out that the command is: dd if=/dev/urandom of=/exemple/file bs=512MB After running this command the... (2 Replies)
Discussion started by: razolo13
2 Replies

7. Shell Programming and Scripting

Generating Random Number in certain range

Hi there I am trying to generate a random number between 40 and 70 using the shell here is my code so far and it keeps going above 70. all help much appreciated! comp=$(( RANDOM%70+40 )) echo $comp (4 Replies)
Discussion started by: faintingquiche
4 Replies

8. Shell Programming and Scripting

Random number generating script?

Having a hard time with this. Very new to scripting and linux. Spent all sunday trying to do this. Appreciate some help and maybe help breaking down what the syntax does. Create a Bash program. It should have the following properties • Creates a secret number between 1 and 100 i. The... (3 Replies)
Discussion started by: LINUXnoob15
3 Replies

9. Shell Programming and Scripting

Generating a Random String of 'n' length

Hi, How can I generate a string of random characters (alpha+numeric) of a particular length ? For e.g. for n=5, output = 'kasjf' n=10, output = 'hedbcd902k' Also, please let me know if random (valid) dates could also be generated. Thanks (7 Replies)
Discussion started by: rishigc
7 Replies

10. Shell Programming and Scripting

Generating a POSIX random number?

Hi Guys and gals... As you know I am getting to grips with POSIX and hit this stumbling block. Generating two random numbers 0 to 255 POSIXly. Speed in not important hence the 'sleep 1' command. I have done a demo that works, but it sure is ugly! Is there a better way? #!/bin/sh # Random... (12 Replies)
Discussion started by: wisecracker
12 Replies
TIMERADD(3)						   BSD Library Functions Manual 					       TIMERADD(3)

NAME
timeradd, timersub, timerclear, timerisset, timercmp -- operations on timevals SYNOPSIS
#include <sys/time.h> void timeradd(struct timeval *a, struct timeval *b, struct timeval *res); void timersub(struct timeval *a, struct timeval *b, struct timeval *res); void timerclear(struct timeval *tvp); int timerisset(struct timeval *tvp); int timercmp(struct timeval *a, struct timeval *b, CMP); DESCRIPTION
These macros are provided for manipulating timeval structures for use with the gettimeofday(2) and settimeofday(2) calls. The structure is defined in <sys/time.h> as: struct timeval { long tv_sec; /* seconds since Jan. 1, 1970 */ long tv_usec; /* and microseconds */ }; timeradd() adds the time information stored in a to b and stores the resulting timeval in res. The results are simplified such that the value of res->tv_usec is always less than 1,000,000 (1 second). timersub() subtracts the time information stored in b from a and stores the resulting timeval in res. timerclear() initializes tvp to midnight (0 hour) January 1st, 1970 (the Epoch). timerisset() returns true if tvp is set to any time value other than the Epoch. timercmp() compares a to b using the comparison operator given in CMP, and returns the result of that comparison. SEE ALSO
gettimeofday(2) HISTORY
The timeradd() family of macros were imported from NetBSD 1.1, and appeared in FreeBSD 2.2.6. BSD
August 11, 1999 BSD
All times are GMT -4. The time now is 04:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy