Simple Fortran Program With Random Numbers

  • #1
I have been busy trying to generate, using FORTRAN's random number generator, random x and y co-ordinates which follow a simple pattern such as x2-100x, but for some reason the FORTRAN compiler prints nothing.

Anybody want to help me with this problem?

Code:
	program quadraticdistribution
	implicit none
	integer i
	integer x,y
	real l
	integer seed/-23434567/
c     ************************************
c     intialize the random number
      l=rand(seed)

c     intialize the x and y values
      x=0
      y=0
       
30      do i=1,200
            x=int(100*rand(0))
            y=int(100*rand(0))
        if (x.ge.(y*y-100*y)) goto 30
            Write(*,*) x,y
        enddo
           
           stop
           end
 
  • #2
What compiler are you using? A lot of random stuff I've seen is compiler-specific. As a G95 user, I'm not familiar with your approach.
 
  • #3
Since you're not getting any output, it's probably the case that your if statement is preventing the following write statement from executing. I added a write statement right after x and y get set, so you can at least get some output.

The main problem, I believe, is your goto in the middle of your loop. I changed the logic in your if statement so that if x < y^2 - 100y, the code prints the values of x and y. If x >= y^2 - 100y, the code doesn't print anything.
Code:
	program quadraticdistribution
	implicit none
	integer i
	integer x,y
	real l
	integer seed/-23434567/
c     ************************************
c     intialize the random number
      l=rand(seed)

c     intialize the x and y values
      x=0
      y=0
       
      do i=1,200
         x=int(100*rand(0))
         y=int(100*rand(0))
         write(*, *) x, y   ; for debugging purposes
         if (x .lt. (y*y-100*y)) 
            Write(*,*) x,y
         endif
        enddo
           
           stop
           end
 
  • #4
If y lies between 0 and 100, y^2-100*y is always negative, and the condition x>y^2-100*y is always true.
 

Suggested for: Simple Fortran Program With Random Numbers

2
Replies
60
Views
2K
Replies
13
Views
588
Replies
17
Views
2K
Replies
14
Views
729
Replies
12
Views
741
Back
Top