Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
- The problem statement, all variables and given/known data:
read data set, and search for array value to get avegare
- Relevant commands, code, scripts, algorithms:
fortran code
hi i have two data sets one(data1) containing
3
8 2 1 5 7 9
9 2 2 5 7 7
10 3 6 6 6 6
and other(data2) containing
5
1 10
5 20
7 30
6 40
9 50
now i want my program to search the values 1 5 7 9 from (data1) in data 2 column 1 and then take the average of the corresoinding values in column 2, for example for first line of data1 the avg of (1 5 7 9) will be
(10+20+30+50)/4=27.5
then write
8 2 27.5
and so on...
- The attempts at a solution (include all code and scripts):
till now i have written the following program,
program test
implicit none
integer :: pn,en
integer :: i
real ,allocatable, dimension (:,:) :: y
integer,allocatable,dimension (:,:) :: ix
REAL ,DIMENSION (:) :: avg(10000000)
open (11, file='data1.dat')
read (11,*) pn
allocate (y(pn,2))
do i=1,pn
read(11,*) y(i,:)
enddo
close(11)
c *************************
open(12,file='data2.dat')
read (12,*) en
allocate (ix(en,6))
do i=1,en
read(12,*) ix(i,:)
enddo
close(12)
c *************************
do i=1,en
avg(i)=(y(ix(i,3),2)+y(ix(i,4),2)+y(ix(i,5),2)+
& y(ix(i,6),2))/4
end do
do i=1,en
write(*,*) ix(i,1:2),avg(i)
enddo
end program
this gives me output
8 2 15
9 2 17.5
10 3 0
which is wrong. instead of searching for value it searches for line number .... so what to change in it to search for value not line number
- Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):
University of engineering and technology taxila, Taxila, Pakistan, Engr Ahmed, ME919
Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).