Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
 
program find_element_in_array
    implicit none
 
    integer, parameter :: dp = selected_real_kind(2*precision(1.0))
    real(dp), parameter :: PI=3.141592653589793238462643383279502884197_dp
    integer :: i
    integer, parameter :: num_elements = 100000000
    real(dp), parameter :: target_value = 90000000._dp*PI
    real(dp), dimension(:), allocatable :: array1, array2
    real :: t1, t2
    integer :: loc
    loc=0
 
    allocate(array1(num_elements), array2(num_elements))
 
    ! Create array
    do i = 1, num_elements
        array1(i) = i*PI
    end do
 
    ! method 1
    call cpu_time(t1)
    do i = 1, num_elements
        if (array1(i) == target_value) then
            loc = i
            exit
        endif
    end do
    call cpu_time(t2)
    write(*,'(A,E24.16,A,I10)') "Value ", target_value, " found at ", loc
    write(*,*) "CPU time: ", t2-t1
 
    ! method 2
    call cpu_time(t1)
    forall (i=1:num_elements) array2(i) = abs(array1(i) - target_value)
    loc = minloc(array2, 1)
    call cpu_time(t2)
    write(*,'(A,E24.16,A,I10)') "Value ", target_value, " found at ", loc
    write(*,*) "CPU time: ", t2-t1
 
    ! method 3
    call cpu_time(t1)    
    loc = minloc(abs(array1 - target_value), 1)
    call cpu_time(t2)
    write(*,'(A,E24.16,A,I10)') "Value ", target_value, " found at ", loc
    write(*,*) "CPU time: ", t2-t1
 
end program find_element_in_array
 
 
 

 
 

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 17:19 27-07-2013
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru