PDA

Visualizza la versione completa : [FORTRAN] Frequenza di occorrenza e ordinamento decrescente


stino90
19-02-2012, 11:40
Siano dati in ingresso il riempimento e gli elementi di un array di interi. Scrivere un programma che
calcoli e memorizzi in una apposita struttura dati i numeri interi presenti e la loro frequenza di
occorrenza. Ordinare tale struttura dati in modo decrescente rispetto alle frequenze di occorrenza.
Stampare infine la struttura dati così ottenuta. Si organizzi il programma in sottoprogrammi.

Questo il titolo della traccia: non ho capito proprio come poter articolare un algoritmo per fare ciò...questa struttura dati cosa è, una matrice? O due vettori? Come posso ordinare in maniera decrescente? Potreste gentilmente indicarmi un algoritmo che mi consenta di fare ciò e così provo a scriverlo in FORTRAN90 e proviamo a discuterne? Grazie a chi risponderà.

oregon
19-02-2012, 12:42
Devi suddividere il problema in sottoproblemi ed esaminarli uno per volta.

L'ordinamento è un algoritmo standard ... dovresti conoscerlo ... cosa ti si può dire?

stino90
20-02-2012, 10:31
Di algoritmi standard conosco solo ordinamento crescente e il contare occorrenze di un determinato valore all'interno del vettore. Ordinare in maniera decrescente rispetto alle frequenze di occorrenza cosa significa? Come faccio a correlare le 2 cose? Le strutture dati di cui si parla sono vettori?

oregon
20-02-2012, 10:49
Originariamente inviato da stino90
Di algoritmi standard conosco solo ordinamento crescente e il contare occorrenze di un determinato valore all'interno del vettore. Ordinare in maniera decrescente rispetto alle frequenze di occorrenza cosa significa? Come faccio a correlare le 2 cose? Le strutture dati di cui si parla sono vettori?

Crescente o decrescente per te varia l'algoritmo ?

Rispetto alle frequenze significa che devi tenere in considerazione i valori calcolati delle frequenze per l'ordinamento ... (come quando ti dicono, ordina per la data di nascita oppure ordina per l'età ...).

La struttura è ... una struttura dati ... TYPE ... END TYPE e tu avrai un vettore di elementi strutturati.

Se queste nozioni ti vengono nuove, allora vuol dire che non hai fatto abbastanza pratica (e teoria) prima di affrontare questo problema.

stino90
20-02-2012, 22:07
Bè diciamo che non ho fatto proprio queste strutture che citi col type...end type. Dal momento che non sono state trattate non penso occorra adoperarle, occorre sbrigarsela solo utilizzando i concetti di vettori/matrici...
Per il resto in effetti se devo contare l'occorrenza di un valore, data una variabile intera in cui vado a memorizzare sto valore da cercare, uso un banale ciclo a scorrimento per scorrere gli elementi del vettore, confronto con sta variabile, incremento una variabile contatore per contare quanti elementi ci sono appunto di quel valore, ma se io devo contare le occorrenze di ogni valore, significa che per ogni elemento v(i) io devo contare quante volte questo è presente nel vettore, quindi questa è la prima problematica che devo capire come affrontare: in effetti è sbagliato anche dirla così, non per ogni elemento v(i), ma per ogni elemento v(i) distinto diciamo e quindi è ancora più delicata la questione...

Loading