Vi riporto il code dell'algoritmo il quale, data una matrice $X$ di $n$ righe e $m$ colonne, e sia $p$ un numero intero, mi da come valore $s=0$ se non esitono $p$ elementi consecutivi uguali a $0$, invece $s=1$ altrimenti.
Ovviamente la parte finale dell'algoritmo non è definita, è solo per provare se andava, in particolare sulla funzione stampa valore $s$.
Per essere più chiari vi posto il link della traccia:
http://wpage.unina.it/lapegna/educational/esempio%20compito%20del%20240717.pdf
Algoritmo:
- Codice:
program provaesame
! Il presente algoritmo sviluppa una procedura data una matrice A di N righe e M colonne di numeri interi, e P un numeri intero, restituisca il valore s=0 se esitono P elementi consecutivi uguale a zero, invece restituisce il valore s=1 se non esistono P elementi consecutivi uguali a zero.
integer :: i,j,n,m,p,f,a,b
real:: x(100,100)
print*, 'inserire nella sequenza ordine matrice n-righe, m-colonne, valore numerico di p-elementi uguale a zero'
read*, n,m,p
if(p>m) then
s=0
else
print*, 'inserire elementi della matrice'
do i=1,n
do j=1,m
read*, x(i,j)
end do
end do
a=0
b=0
do i=1,n
read*, b
do j=1,m
if (x(i,j)/=0) then
s=0
else
do
f=j
do f=j,j+p
if ((x,j) == 0) then
a=a+1
end do
end do
if (f == j+p) exit
end do
end if
b=a
end do
b=b+1
end do
b=s
end if
print*, s
end
Nell'attesa, cordiali saluti.