Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2010, 23:36   #1
Moustache
Новичок
Джуниор
 
Регистрация: 07.03.2010
Сообщений: 3
По умолчанию Подпрограммы общего вида. (Fortran).

Добрый вечер. Написал программу в фортране, но мне выдаются ошибки.

Само задание звучит так:
Составить подпрограмму нахождения индекса минимального элемента кратного заданному целому числу в целочисленном одномерном массиве. С помощью этой подпрограммы сформировать вектор из элементов целочисленной матрицы A(-3:0,-4:0)

Вот мое решение:
Код:
program LAB2
dimension A(-3:0,-4:0), B(5)
real min
real c
do i=-3,0
read *, (a(i,j),j=-4,0)
enddo
do i=-3,0
do j=-4,0
b(i)=a(i,j)
enddo
call pr(a,-3,0,-4,0,b,5,c)
min=b(i)
enddo
end
subroutine pr(a,i1,i2,j1,j2,b,k,c)
dimension A(i1:i2,j1:j2), b(k)
real min
real c
read *,c
print * , 'vvedite chislo'
min=b(1)
do i=1,n
if (b(i).LT.min) then
if ((b(i)/c).EQ.(b(i)/c)) then
min=b(i)
l=i
endif
endif
enddo
end subroutine
Moustache вне форума Ответить с цитированием
Старый 08.03.2010, 06:34   #2
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Moustache Посмотреть сообщение
Код:
if ((b(i)/c).EQ.(b(i)/c)) then
1. Что это такое? (b(i)/c) всегда равно (b(i)/c).

2. Для чего в подпрограмме pr(...) требуется массив a(...)?

Последний раз редактировалось Serebro; 08.03.2010 в 06:37.
Serebro вне форума Ответить с цитированием
Старый 08.03.2010, 13:28   #3
Moustache
Новичок
Джуниор
 
Регистрация: 07.03.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Serebro Посмотреть сообщение
1. Что это такое? (b(i)/c) всегда равно (b(i)/c).

2. Для чего в подпрограмме pr(...) требуется массив a(...)?
1. Пытаюсь задать кратность. Если я пишу ((b(i)/c).EQ.(b(i)/c.)) , то программа вообще не запускается.

2. Хм. Ну если я не ошибаюсь, то нужно перечислить все элементы кода, которые в нем используются.
Moustache вне форума Ответить с цитированием
Старый 08.03.2010, 14:02   #4
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Serebro Посмотреть сообщение
1. Что это такое? (b(i)/c) всегда равно (b(i)/c).

2. Для чего в подпрограмме pr(...) требуется массив a(...)?

1. Кратность проверяется так:

Код:
integer n,m,mmm

n=mmm - (mmm / m)*m                  // или n=mmm - int((mmm / m))*m 

if (n.eq.0) then
              //      mmm - кратно m
end if
2. В подпрограмме pr(...) массив a(...) НЕ ИСПОЛЬЗУЕТСЯ, поэтому и ставится вопрос:
Цитата:
2. Для чего в подпрограмме pr(...) требуется массив a(...)?

Последний раз редактировалось Serebro; 08.03.2010 в 14:15.
Serebro вне форума Ответить с цитированием
Старый 08.03.2010, 14:20   #5
Moustache
Новичок
Джуниор
 
Регистрация: 07.03.2010
Сообщений: 3
По умолчанию

Без понятия.
Moustache вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы общего назначения Chyvis Помощь студентам 4 08.12.2009 12:39
[C] Абстрактные типы данных. Реализация дерева общего вида. Dju Помощь студентам 0 11.05.2009 18:11
нахождение наибольшего общего делителя и наименьшего общего кратного made in russia Помощь студентам 2 21.12.2008 23:36