| Autore |
Discussione  |
|
|
Exels
Nuovo Utente

|
Inserito il - 28/04/2005 : 17:27:26
|
Salve eccomi di nuovo... Dovevo fare un progetto in linguaggio ANSI C; il testo era il seguente....
"Scrivere un programma ANSI C che acquisisce una sequenza di n numeri non necessariamente distinti e stabilisce se nella sequenza esiste un elemento di maggioranza, cioè un numero che compare almeno n / 2 volte"
Io l'ho scritto e funziona correttamente... gli faccio creare un'array e dopo aver inserito i numero, con degli algoritmi di ordinamento gli faccio ordinare come suddetto, e faccio apparitre il numero che appare N/2 volte... Però quando ho fatto vedere il beta version al prof lui mi ha detto..."lei è sicuro che l'ordinamento sia il miglior modo di risolvere questo problema???" insomma dovrei utilizzare altri algoritmi, sincermanete pensavo ad un albero rosso/nero, però guardando di sfuggita la situazione, mi sembra che il mio albero venga sbilanciato e che per risalire il mio albero, non sia molto facile.... C'è qualcosa che mi sfugge... Qualcu8no può aiutarmi????
COMUNQUE IL MIO PROGRAMMA FUNZIONAVA CORRETTAMENTE E CREDO CHE SIA IL MIGLIO MODO PER RISOLVERE IL PROBLEMA... ma chi decide è il prof
|
|
|
rat86
Utente medio
 
Regione: Puglia
Prov.: Bari
Città: Sannicandro di Bari
|
Inserito il - 28/04/2005 : 18:34:33
|
| un altro modo potrbbe essere, quello di calcolare il numero che compare + volte, con un vettore cha calcoli le occorenze, vedi quello che compare + volte, e vedi se compare + di n/2 volte |
 |
|
|
Exels
Nuovo Utente

|
Inserito il - 28/04/2005 : 20:09:03
|
| sarebbe creare due alberi che lavorano in contemporanera??? perchè io lo devo risolvere con un algoritmio.. ma devo capirlo bene prima.. |
 |
|
|
Chilavert
admin
    

Regione: Puglia
Prov.: BA
Città: Bari
|
Inserito il - 28/04/2005 : 20:12:24
|
il programma lo puoi strutturare così: l'acquisizione degli n elementi distinti lo fai in una lista, e l'inserimento lo fai già in maniera ordinata. In questo modo, hai il vantaggio dell'infinitezza della struttura dati e del fatto che non devi ordinare il vettore. Poi il resto è uguale a quello che hai fatto tu. Di più, nin zò... |
E' un bene per il Prof. Xxxxxxx che sappia con chi ha a che fare. Pensa a studiare e non agli esempi, o ad altre strade per così dire, che questa volta mi sa che non attacca. [cit.]
Tutti professori dall'esterno, e poi parlano persone che per prendere un voto decente ripetono l'esame 30 volte e poi fanno i sapientoni con chi segue la prima volta vedi chilavert [cit.] |
 |
|
|
lacrijux
Utente Gastema
  

Regione: Puglia
Prov.: Bari
Città: bari
|
Inserito il - 28/04/2005 : 22:12:19
|
vettore di numeri interi a=[...]
struttura occorrenza{ int numero int occorrenze }
b=[] vettore di occorrenza
insomma per ogni numero diverso crei una occorrenza, per i numeri di "a" uguali incrementi la corrispondente nel campo occorrenze.
mi sono spiegato? anzi "è chiaro?"
|
...mok a kedda kia.... bello! Ma sta a parl o sa a muv le rekkiie? citazione colta: Megghiie ferit ke muert! La fregatura e' che la coca cola si paga, ma il chinotto e' gratis. "la vertigine non è paura di cadere, ma è voglia di volare!"[cit] |
 |
|
|
nicux
Sottonicux
   

Regione: Estero
Prov.: Zara
Città: Citta'
|
Inserito il - 28/04/2005 : 22:25:24
|
| io opterei per una tabella hash, in cui il numero è la chiave e l'occorrenza il valore |
gia' e non ancora... |
 |
|
|
lacrijux
Utente Gastema
  

Regione: Puglia
Prov.: Bari
Città: bari
|
Inserito il - 28/04/2005 : 22:27:14
|
Citazione: Messaggio inserito da nicux
io opterei per una tabella hash, in cui il numero è la chiave e l'occorrenza il valore
bella come soluzione, ma penza che è un esame di programmazione..,. |
...mok a kedda kia.... bello! Ma sta a parl o sa a muv le rekkiie? citazione colta: Megghiie ferit ke muert! La fregatura e' che la coca cola si paga, ma il chinotto e' gratis. "la vertigine non è paura di cadere, ma è voglia di volare!"[cit] |
 |
|
|
mrluglio
Utente Sempre in Vacanza
  

Regione: Puglia
Prov.: Bari
Città: Terlizzi
|
Inserito il - 29/04/2005 : 00:22:26
|
Citazione: Messaggio inserito da lacrijux
vettore di numeri interi a=[...]
struttura occorrenza{ int numero int occorrenze }
b=[] vettore di occorrenza
insomma per ogni numero diverso crei una occorrenza, per i numeri di "a" uguali incrementi la corrispondente nel campo occorrenze.
mi sono spiegato? anzi "è chiaro?"
io lo farei senza struct.
vettore A[] numeri vettore B[] occorrenze. (inizializzalo a null) 1.Acquisici il numero 2.ricerca il numero nel vettore A 3.se non esiste, inseriscilo 4.poni i = indice del numero nel vettore A 5.se B[i] è null ponilo a 1, altrimenti incrementalo. 6.ripeti da 1. 7.ricerca il numero di occorrenze pari a n/2 in B. fine
più chiaro di così! questo basterà per un esame di programmazione credo... (Spero di non aver scritto cacchiate...    ) |
Spazio agli inventori : "Questa cosa non funziona...funzionerebbe però se usassimo il RETROMOUSE" by Anonimo
 |
 |
|
|
mrluglio
Utente Sempre in Vacanza
  

Regione: Puglia
Prov.: Bari
Città: Terlizzi
|
Inserito il - 29/04/2005 : 00:24:58
|
Una domanda: ma da quando a programmazione si usano gli alberi??? E poi effettivamente, se puoi usare gli alberi tanto vale usare una tabella hash che ti spicci!! |
Spazio agli inventori : "Questa cosa non funziona...funzionerebbe però se usassimo il RETROMOUSE" by Anonimo
 |
 |
|
|
nicux
Sottonicux
   

Regione: Estero
Prov.: Zara
Città: Citta'
|
Inserito il - 29/04/2005 : 09:37:54
|
Citazione: Messaggio inserito da lacrijux
Citazione: Messaggio inserito da nicux
io opterei per una tabella hash, in cui il numero è la chiave e l'occorrenza il valore
bella come soluzione, ma penza che è un esame di programmazione..,.
ne sei proprio sicuro?
|
gia' e non ancora... |
Modificato da - nicux in data |
 |
|
|
Chilavert
admin
    

Regione: Puglia
Prov.: BA
Città: Bari
|
Inserito il - 29/04/2005 : 09:40:48
|
| In effetti sta nella sezione "Programmazione", ma potrebbe tranquillamente essere un "progetto di Algoritmi I". L'ho visto come traccia in molti siti di università diversi da Bari... |
E' un bene per il Prof. Xxxxxxx che sappia con chi ha a che fare. Pensa a studiare e non agli esempi, o ad altre strade per così dire, che questa volta mi sa che non attacca. [cit.]
Tutti professori dall'esterno, e poi parlano persone che per prendere un voto decente ripetono l'esame 30 volte e poi fanno i sapientoni con chi segue la prima volta vedi chilavert [cit.] |
 |
|
|
mrluglio
Utente Sempre in Vacanza
  

Regione: Puglia
Prov.: Bari
Città: Terlizzi
|
Inserito il - 29/04/2005 : 09:48:10
|
Citazione: Messaggio inserito da Chilavert
In effetti sta nella sezione "Programmazione", ma potrebbe tranquillamente essere un "progetto di Algoritmi I". L'ho visto come traccia in molti siti di università diversi da Bari...
e allora concordo con nicux. tanto vale usare una tabella hash.... key=numero value=occorrenza |
Spazio agli inventori : "Questa cosa non funziona...funzionerebbe però se usassimo il RETROMOUSE" by Anonimo
 |
 |
|
|
nicux
Sottonicux
   

Regione: Estero
Prov.: Zara
Città: Citta'
|
|
|
Exels
Nuovo Utente

|
Inserito il - 29/04/2005 : 12:04:30
|
Raga vi ringrazio dell'aiuto, però questo è un progetino per Algoritmi e strutture dati...
TNK |
 |
|
|
nicux
Sottonicux
   

Regione: Estero
Prov.: Zara
Città: Citta'
|
Inserito il - 29/04/2005 : 12:33:21
|
| ok, ma a questo punto dicci quali sono le strutture dati che puoi utilizzare e vediamo qual'è il modo migliore per risolvere il tuo problema |
gia' e non ancora... |
 |
|
|
mrluglio
Utente Sempre in Vacanza
  

Regione: Puglia
Prov.: Bari
Città: Terlizzi
|
Inserito il - 29/04/2005 : 13:16:22
|
Citazione: Messaggio inserito da nicux
ok, ma a questo punto dicci quali sono le strutture dati che puoi utilizzare e vediamo qual'è il modo migliore per risolvere il tuo problema
infatti! |
Spazio agli inventori : "Questa cosa non funziona...funzionerebbe però se usassimo il RETROMOUSE" by Anonimo
 |
 |
|
| |
Discussione  |
|