Newsgroup: it.istruzione.universita.ingegneria
Titolo: Programma in fortran..mi aiutate?

Effettuare il confronto tra un array monodimensionale di 1000 elementi con
un array monodimensionale di dimensioni inferiori e verificare quante volte
il secondo è presente nel primo...
come si fa?

Il Fri, 11 Jul 2003 14:14:17 GMT, giovanni fece sapere che:

Eccomi qua :)
Siccome non ho intenzione di farti l'esercizio, ma voglio vedere se
posso dare una mano, fammi sapere quale versione di fortran usi
(f77,f90,F).
Dopo di che, mostrami un po' di codice, o cio' che pensi debba farsi.
Ed infine non capisco cosa vuol dire: "...e verificare quante volte
 il secondo è presente nel primo..."
cioe' quanti elementi del secondo sono presenti nel primo senza vare
riferimento a condizione di ordine degli elementi o di adiacenza?
cmq in F90 3-4 istruzioni e' possibile beccare gli elementi, ma poi non
ho capito come valutare. Es:
Array1:
1 2 3 4 5 6
Array2:
2 3 4
in tal caso e' contenuto una volta.
ma se ho
Array2:
1 3 5
Non ho la stessa adiacenza in Array1
ed analogamente se Array2:
4 1 2 
Non ho un ordine.
Ciao.

 ha
accelerato la morte entropica dell'universo in siffatta maniera:

Confronti il primo elemento dell'array piccolo col primo del grande.
Coincidono?
- Se si' cominci a confrontare tutti gli altri elementi in serie:
se hai un riscontro perfetto hai trovato un'occorrenza e riparti dal
primo elemento dell'array piccolo. Se no devi ritornare all'elemento
successivo al primo che hai trovato.
- Se no, passa al prossimo.
Ora non chiedermi di scrivertelo in Fortran perche' se rivedo qualcosa
di scritto in quel linguaggio mi viene un attacco di nervi che i
vicini penseranno che stia provando la parte per un film di Muccino.
Byez
un DeK al naso
-- 
DeK - Delirio & Kaos
Miscredente e Cultore dell'uso improprio della Nutella(R)
FAN n.1 del CrossPost e dell' OT :)
Visita One Big Mob - 
http://dek.hey.to
 [
http://dek.interfree.it
]


e perche'?
Io ultimamente sono diventato un fans sfegatato del fortran90/95
piu' semplice e veloce del C (almeno nei miei algoritmi)
Tra l'alto l'esercizio che il tizio vuole fatto l'ho gia' preparato
e occupa solamente 11 righe di cui 
4 righe per dichiarazioni variabili, program e end program piu' il write di output
6 righe per inizializzare le varibili
 
e leggasi bene _1_ dicasi _UNA_ riga per fare quello (veramente lo fa in
modo duverso, ma cmq il fine e' lo stesso) che tu hai detto al tizio in
questione e che lui desidera che qualcuno gli codifichi a mano :)
Per i piu' curiosi: la riga incriminata e':
<<<where(buffer2 == v2) buffer = 1;volte = int(1000/sum(buffer))>>>
che in C,Pascal,Vb o altro deve essere fatto con 
2 cicli for(...;...;..) 
1 if then else
1 ciclo for finale 
ahah terribile.
Certo se ti riferivi al piu' noto e conosciuto FORTRAN77, quello che
segue lo standard del 1977 allora c'e' da spararsi :), se lo si
confronta con i linguaggi attuali, mentre se prendi in considerazione
l'ultimo standard sono i linguaggi attuali che in campo numerico (unico
su cui il fortran e' apprezzabile) possono andare a nascondersi.

segue lo standard del 1977 allora c'e' da spararsi :)
Ovvio, a me quello hanno insegnato.
Fortunatamente ora si usa il Matlab a Metodi Numerici.
Sfortunatamente l'esito dell'esame continua ad andare di pari passo
col ciclo mestruale della profia.
Byez
DeK and the road to september
