我需要帮助我的朋友。这是一项简单的任务。我需要在数组中找到一个最小的元素。
program TEST
! your code goes here
integer a(5), n, min
a = (/2, -5, 3, 5, 8/)
n = 5
min = a(1)
!reading from keyboard
!do i=1,n
!read*,a(i)
!end do
print*, 'array:'
do i=1,n
print*,a(i)
end do
!print*, 'отладка, поиск минимального:'
do i=2,n
if (min .lt. a(i)) then
min = a(i)
!print*, min, a(i), ' '
end if
end do
print*, 'minimal: '
print*, min
stop
end
因此。我根本没有alghoritm的问题。我很容易用任何其他语言来做))但不存在。我比较min
和a(i)
时出现问题。
Programm始终认为min < a(i)
。为什么?因此min
为8
,因为8
是最后一个。
答案 0 :(得分:5)
你想找到最小的a(i)
,所以到目前为止你的最小测试是错误的方法:使用if (a(i).lt.min) min=a(i)
或者代替。
但您可能需要考虑MINVAL(a)
。