[FORTRAN] Chi mi controlla questi programmi?

Ninphyl1
A) Letti due interi n e k, stampare il risultato della somma k+k^2+...k^n

PROGRAM STAMP_K
IMPLICIT NONE
INTEGER :: I,N,POT(I),K,SUM

READ(*,*)N
READ(*,*)K

SUM=K
POT(1)=K

DO I=2,N
POT(I)=POT(I-1)*K
WRITE(*,*)POT(I)
END DO

DO I=2,N
SUM=SUM+POT(I)
END DO

WRITE(*,*)SUM

STOP
END PROGRAM

B)Letto un vettore di interi, cancellare tutti gli elementi nulli (esempio a=(1,5,0,7,5,0,8) -> a=(1,5,7,5,8))

PROGRAM CANC_0
IMPLICIT NONE
INTEGER,DIMENSION(100)::A
INTEGER::I,N

READ(*,*)N

DO I=1,N
READ(*,*)A(I)
END DO

DO I=1,N
IF (A(I).NE.0) THEN
WRITE(*,*)A(I)
END IF
END DO

STOP
END PROGRAM

C)Scrivere una funzione che, dato un vettore di interi in ingresso, restituisca se il numero di numeri primi presenti nel vettore è maggiore di 5.

INTEGER FUNCTION 5_PRIMI
IMPLICIT NONE
INTEGER,INTENT(IN),DIMENSION(100)::V
INTEGER,INTENT(IN)::I,N,SUM_PRIMI
BOOL,INTENT(IN)::PRIMO
BOOL,INTENT(OUT)::PROP

READ(*,*)N
SUM_PRIMI=0

DO I=1,N
READ(*,*)V(I)
IF(V(I).EQ.PRIMO)THEN
SUM_PRIMI=SUM_PRIMI+1
END IF
END DO

WRITE(*,*)SUM_PRIMI
PROP=TRUE

IF(SUM_PRIMI.GT.5)THEN
PROP=TRUE
ELSE
PROP=FALSE
END IF

WRITE(*,*)PROP

RETURN PROP
END FUNCTION

D) Letta una matrice quadrata, restituire il numero di colonne della matrice aventi un numero di zeri minori di 5.

PROGRAM 5_ZERI
IMPLICIT NONE
INTEGER,DIMENSION(100)::A
INTEGER::I,J,N,SUM
BOOL::PROP

SUM=0
READ(*,*)N

IF((N.GT.0).AND.(N.LE.100))THEN
DO I=1,N
DO J=1,N
READ(*,*)A(I,J)
END DO
END DO
END IF

DO J=1,N
IF (PROP.EQ.TRUE) THEN
SUM=SUM+1
END IF
END DO

STOP
END PROGRAM

E) Scrivere una funzione che verifichi, data una matrice quadrata in ingresso, che la somma degli elementi su ogni riga sia costante.

INTEGER FUNCTION COSTANTE
IMPLICIT NONE
INTEGER,INTENT(IN),DIMENSION(100,100)::A
INTEGER,INTENT(IN)::I,N,SUM
BOOL,INTENT(OUT)::PROP

DO I=1,N
SUM(I)=0
DO J=1,N
SUM(I)=SUM(I)+A(I,J)
END DO
WRITE(*,*)SUM(I)
END DO

PROP=TRUE

I=1
DO WHILE((PROP).AND.(I.LE.N-1))
PROP=(SUM(I).EQ.SUM(I+1))
I=I+1
END DO

WRITE(*,*)PROP

STOP
END PROGRAM


Vi chiedo di aiutarmi, domani devo presentare questi programmi al prof in laboratorio, e non vorrei far brutta figura, quindi se ci sono problemi vi prego di prestare la vostra attenzione e di segnalarmeli... Grazie!

Risposte
diegmat
Forse lo hai postato un po' troppo tardi. Non l'ho ancora letto, l'ho soltanto guardato: su due piedi l'unico suggerimento che mi verrebbe da darti è che la prima lettera del nome di un programma non può essere un numero. Ma è un'inezia :-D

Ninphyl1
grazie..

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.