Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

массив на Fortran'e

9.9K
23 марта 2007 года
o1ps
51 / / 11.10.2006
Вот пример программы, которая вычисляет количество совершенных чисел:
Код:
Program a1

read*, M

do i=1,M

do j=2,i
if (mod(i,j)==0) then
k=k+i/j
end if
end do

if (k==i) then
write(*, "(i)")k
end if

k=0

end do

end


Помогите пожалуйста организовать в этой программе такую функцию : результат бы заносил в массив (проблема в том, что чем больше число M, тем больше совершенных чисел, и я не знаю как именно определить количество записей, получаемых в ответе, с последующей записью их в массив) Нипишите пожалуйста кусок кода, буду очень признателен.
247
23 марта 2007 года
wanja
1.2K / / 03.02.2003
Код:
Program a1
integer nums(1000)
read*, M
l=0
do i=1,M

do j=2,i
if (mod(i,j)==0) then
k=k+i/j
end if
end do
if (k==i) then
l=l+1
nums(l)=k
end if
k=0
end do
do i=1,l
write(*,*)nums
end do
end


Примерно так
9.9K
23 марта 2007 года
o1ps
51 / / 11.10.2006
А допустим возникнет проблема если вводиться число 10000, а массив всего 1000. А как можно обьявить одномерный массив неизвесной длинны, а узнав М задать его размеры? Подскажите пожалуйста.
257
23 марта 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=o1ps]А допустим возникнет проблема если вводиться число 10000, а массив всего 1000. А как можно обьявить одномерный массив неизвесной длинны, а узнав М задать его размеры? Подскажите пожалуйста.[/quote]
вроде так можно(точно не помню):
 
Код:
real, ALLOCATABLE :: a(:) //объявляем массив как динамический, тип данных real
INTEGER m
read *,m //считываем длину массива
allocate(a(1:m)) //теперь a массив из m элементов
247
24 марта 2007 года
wanja
1.2K / / 03.02.2003
Сомневаюсь, что наберется столько совершенных чисел :)
622
24 марта 2007 года
nilbog
507 / / 19.12.2006
да
так что можно массив для хранения совершенных чисел где-то 20 сделать )
9.9K
25 марта 2007 года
o1ps
51 / / 11.10.2006
ну из 1000 их всего 3 совершеныых числа, из 10 тысяч их 4... вот и получается.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог