--- gfortran 6.3 --- program prog1 integer N, k, i, j real a(10,10) read *, N print *, 'Матрица:' do i = 1,N do j = 1,N a(i,j) = sin(1.0*i+1.0*j/2) end do end do do i = 1, N print *, (a(i,j), j=1,N) end do k = 0 do i = 1, N do j = 1, N if(a(i, j) > 0) k = k+1 end do end do print *, k end
Консольное приложение: const n=9; var l:array[1..n] of integer; i,max,imax,min,imin,s:integer; begin Randomize; writeln('Массив L:'); for i:=1 to n do begin l[i]:=random(51); write(l[i]:4); end; writeln; max:=l[1]; imax:=1; min:=l[1]; imin:=1; for i:=2 to n do begin if l[i]>max then begin max:=l[i]; imax:=i; end; if l[i]<min then begin min:=l[i]; imin:=i; end; end; writeln('max = l[',imax,'] = ',max); writeln('min = l[',imin,'] = ',min); s:=0; if imax>imin then for i:=imin+1 to imax-1 do s:=s+l[i] else for i:=imax+1 to imin-1 do s:=s+l[i]; writeln('s = ',s); end.
Пример: Массив L: 31 49 41 15 9 47 37 11 27 max = l[2] = 49 min = l[5] = 9 s = 56
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дано натуральное число n. выяснить, сколько положительных элементов содержит матрица [аij]i=; i, j=, если аij =sin(i + j/2 на фортране, .
program prog1
integer N, k, i, j
real a(10,10)
read *, N
print *, 'Матрица:'
do i = 1,N
do j = 1,N
a(i,j) = sin(1.0*i+1.0*j/2)
end do
end do
do i = 1, N
print *, (a(i,j), j=1,N)
end do
k = 0
do i = 1, N
do j = 1, N
if(a(i, j) > 0) k = k+1
end do
end do
print *, k
end
Результат:
4
Матрица:
0.997494996 0.909297407 0.598472118 0.141120002
0.598472118 0.141120002 -0.350783229 -0.756802499
-0.350783229 -0.756802499 -0.977530122 -0.958924294
-0.977530122 -0.958924294 -0.705540299 -0.279415488
6