25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.6 Procedure intrinseche per gli array 353<br />

1 2 3<br />

4 5 6<br />

0 0 0<br />

Infine, l’istruzione:<br />

EOSHIFT(M,SHIFT=(/1,-1,0/),BOUNDARY=(/’*’,’?’,’/’/),DIM=2)<br />

applicata all’array:<br />

’a’ ’b’ ’c’<br />

’d’ ’e’ ’f’<br />

’g’ ’h’ ’i’<br />

shifta ogni elemento appartenente alla prima riga di una posizione verso sinistra (inserendo<br />

il carattere ’*’ in coda alla riga), ogni elemento appartenente alla seconda<br />

riga di una posizione verso destra (inserendo il carattere ’?’ in testa alla riga),<br />

non sposta alcun elemento della terza riga (non facendo, quindi, uso, dell’ultimo<br />

elemento, di BOUNDARY, ’/’). <strong>Il</strong> risultato prodotto sarà, pertanto:<br />

’a’ ’b’ ’*’<br />

’?’ ’e’ ’f’<br />

’g’ ’h’ ’i’<br />

TRANSPOSE(MATRIX)<br />

Traspone un array di rango due.<br />

L’argomento MATRIX può essere un array bidimensionale di tipo qualsiasi.<br />

<strong>Il</strong> risultato della funzione è un array avente stesso tipo e stessi parametri di kind dell’argomento<br />

MATRIX e forma (/n,m/) essendo (/m,n/) la forma dell’argomento.<br />

L’elemento (i,j)_mo dell’array risultante coincide con il valore di MATRIX(j,i).<br />

A titolo di esempio, definita la seguente matrice mat:<br />

1 2 3<br />

4 5 6<br />

7 8 9<br />

TRANSPOSE(mat) avrà valore:<br />

1 4 7<br />

2 5 8<br />

3 6 9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!