Spartach01
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите,пожалуйста.У меня прога работает правильно все,и все действия делаются в подпрограмме,но результат надо вынести в основной программе. Мне нужно,чтобы прога считала количество элементов матрицы,которые находятся в промежутке от 0 до (i*j)(у меня это с).Нужно подсчитать кол-во и вывести индексы этих элементов.Она выводит правильно,но мне надо чтоб выводила в основной программе.Препод сказал,ввести дополнительные массивы,в которые заносит элементы строк и столбца массивов,но не сказал как.Я пробую,никак не получается.Помогите пожалуйста,сам не смогу((( Program lab6 implicit none real , allocatable ::A(:, integer i,j,m,n,c,p print *,'Vvedite kol-vo strok' read (*,*) m write(*,*) 'Vvedite kol-vo stolbcov' read(*,*) n write(*,*) 'Vvedite matricu' allocate (A(m,n)) do i=1,m do j=1,n read (*,*) a(i,j) write(*,2) i,j,a(i,j) 2 format('a('I3,I3,')='f10.4) end do end do do i=1,m write (*,*)(a(i,j),j=1,n) end do call sm(a,m,n,c,p) end subroutine sm(a,m,n,c,p) implicit none integer m,i,j,n,c,p real A(m,n) p=0 c=m*n write (*,*) 'c=',c do i=1,m do j=1,n if ((A(i,j)>=0).And.(A(i,j)<=c)) p=p+1 end do end do write (*,*) 'Naidennoe kol-vo',p do i=1,m do j=1,n if ((A(i,j)>=0).And.(A(i,j)<=c)) then write(*,2) i,j,a(i,j) 2 format('a('I3,I3,')='f10.4) end if end do end do return end |