Показать сообщение отдельно
Старый 16.04.2014, 21:46   #1 (permalink)
pashasnuff
Member
 
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите пожалуйста с задачкой, Fortran, Pascal

Нужна помощь с программой, в переводе ее С фортрана на паскаль!
Код:
                 
          external F
          Dimension a(5,6),B(5)      
          Real a,B
          Integer I,j
           data A/5.3,-0.25,1.35,2.25,-0.5,2.1,7.1,-2.5,0.9,-1.7,-3.2,4.3,6.83,-4.3,3.7,-1.25,-0.7,0.35,5.25,-1.25,0.5,-1.1,1.8,-0.83,8.9,-3.05,0.15,-1.7,4.1,2.0/
           !read(*,*)A
           write(*,45)
            45 format(6x,'Matrica A')
                   write(*,76)((A(i,j),j=1,6,1),i=1,5,1)
                    76 format(6(3x,f5.2))
 


Do j=1,6,1
     Do i=1,5,1       
        B(i)=0             
        B(i)=A(I,j)         
      enddo           
               call RAZD(B,5,F,L) 
            do i=1,5,1
               a(i,j)=b(i)  
            enddo
enddo
write(*,*)'in UPOR'
pause
write(*,*) 'out Upor'                
! call Upor(a,5,6) 
write(*,55)
55 format(6x, 'perestavlennaya Matrica A')
write(*,76)((a(i,j),j=1,6,1),i=1,5,1)
END



Real function F(x)
real x
F=x
return
end


 
 
 Subroutine RAZD (A, m, F, K)
Dimension A(M)
Integer i, j, m, k
logical p 
Real A,x
i=1
j=M
   do while (i<j)
      if (F(A(i)).GE.0) then
         p=.true.
              do while (j>i .and. P)
                  If (F(A(j))<0) then 
                    x=a(i)
                    A(i)=A(j)
                    A(j)=x
                    p=.false.
                  endif
                j=j-1
              enddo
      Endif
    i=i+1
    Enddo
if (j.eq.M) then
k=j+1
else
     If (p) then 
      k=i-1
          else
          k=j
     Endif
Endif
return
end
Изображения
 
pashasnuff вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070