home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / random.c < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  572 b   |  32 lines

  1. #include <stdio.h>
  2. #define MAXINT 32768.
  3. float fract = 2;
  4. double    atof();
  5. char rflag,eflag,c;
  6. char ibuf[BUFSIZ],obuf[BUFSIZ],line[BUFSIZ];
  7. main(argc,argv) char **argv;
  8. {
  9.     long tvec;
  10.     int i;
  11.     for(i=1;i<argc;i++)
  12.     {    if(*argv[i]!='-')
  13.             fract=atof(argv[i]);
  14.         else if((c=argv[i][1])=='e')
  15.             eflag=1;
  16.         else if(c=='r')
  17.             rflag=1;
  18.     }
  19.     time(&tvec);
  20.     srand((int)tvec);
  21.     if(!rflag && !eflag)
  22.     {    setbuf(stdin,ibuf);
  23.         setbuf(stdout,obuf);
  24.     }
  25.     for(;eflag==0;)
  26.     {    gets(line);
  27.         if(feof(stdin)) break;
  28.         if(rand()/MAXINT*fract<1) puts(line);
  29.     }
  30.     exit((int)(rand()/MAXINT*fract));
  31. }
  32.