|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
Un algoritmo in C/C++
Ho il seguente "file iniziale" che contiene nomi di città.
[file iniziale] ANCONA PALERMO MILANO BOLOGNA PISA LECCE Si deve scrivere un programma (C/c++) che date in "input da tastiera" (vedi sotto) alcune informazioni,le scriva nel "file iniziale" nel modo illustrato negli esempi sotto. Se vi cimentate nello scrivere l'algoritmo funzionate, vi sarei grato se indicate anche il tempo da voi impiegato per risolvere il problema. *********** esempio 1 ************* [input da tastiera] ANCONA MARIA 100-200-250-100-300 ----------------------------------- [file di output] ANCONA MARIA 100-200-250-100-300 PALERMO MILANO BOLOGNA PISA LECCE *********** esempio 2 ************* [input da tastiera] ANCONA MARIA 200-125-050-118-288 ----------------------------------- [file di output] ANCONA MARIA 100-200-250-100-300 MARIA 200-125-050-118-288 PALERMO MILANO BOLOGNA PISA LECCE *********** esempio 3 ************* [input da tastiera] MILANO MARIO 200-125-050-118-288 ----------------------------------- [file di output] ANCONA MARIA 100-200-250-100-300 MARIA 200-125-050-118-288 PALERMO MILANO MARIO 200-125-050-118-288 BOLOGNA PISA LECCE *********** esempio 4 ************* [input da tastiera] MILANO MARIO 210-225-450-108-980 ----------------------------------- [file di output] ANCONA MARIA 100-200-250-100-300 MARIA 200-125-050-118-288 PALERMO MILANO MARIO 200-125-050-118-288 MARIO 210-225-450-108-980 BOLOGNA PISA LECCE Ultima modifica di misterx : 17-07-2003 alle 22:11. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
|
uff... i file non sono mai stati il mio forte
direi che la cosa più semplice è fare una copia del file, leggerlo, fermarsi dove c'è la città indicata e poi inserire le info e andare avanti con la copiatura fino a fine file. non so se è molto efficiente ma almeno funziona |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2002
Città: Bari
Messaggi: 10
|
X caxo sei Carmine L.??
6 furbo!!!! peccato ke nessuno ti risp.
Da oggi ci provo io! by The best |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
Re: X caxo sei Carmine L.??
Quote:
|
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Re: Un algoritmo in C/C++
Quote:
10 secondi per l'algoritmo. invece è circa una settimana che penso a quale patologia possa affliggerti. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Una classettina che contenga i membri:
Nome città Nome proprio 5 numeri interi ridefinire gli operatori < e > in funzione dell'ordinamento per città per nome o per uno dei campi numerici. ridefinire l'operatore << per sparare i dati del record sul file mettere tutto in una stl::list (consentira di ordinare usando l'algoritmo sort) Nell'interfaccia grafica: edit.box separati per ogni campo in una finestra di dialogo che all'OK controlli la correttezza dei dati immessi (Ciccio al posto di un numero per esempio) Ho ricevuto il PVT Ultima modifica di verloc : 18-07-2003 alle 16:52. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
Re: Re: Un algoritmo in C/C++
Quote:
fuori l'algoritmo, va bene anche in VBA così lo testo con Excel di quale patologia soffro ? |
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
cazzonaggine acuta.
ue' ma du chel che abiti ? a piazzale Corveetto ? allora che mestiere fai ? |
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
tel chi, per esempio ... ma non chiamatelo algoritmo.
Codice:
Sub OltreTomba()
a$ = InputBox("Cantami o Diva del Pelide Achille"): If a$ = "" Then Exit Sub
ipos = InStr(a$, " "): If ipos = 0 Then Exit Sub
a1$ = Left$(a$, ipos - 1)
a2$ = Mid$(a$, ipos + 1)
Open "c:\temp\misterxInp.dat" For Input As #1
Open "c:\temp\misterxOut.dat" For Output As #2
Do Until EOF(1)
Line Input #1, b$
If InStr(b$, a1$) = 1 Then
If b$ = a1$ Then
Print #2, a$
Else
Print #2, b$
Print #2, a2$
End If
Else
Print #2, b$
End If
Loop
Close
End Sub
|
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
ti piace il presepie ?
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
devo ancora provarlo ma visto così di primo acchito, sembra non rispondere alle mi esigenze
forse mi sono espresso all'inizio del mio 3D
Ultima modifica di misterx : 19-07-2003 alle 13:59. |
|
|
|
|
|
#12 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
esegue gli esempi che hai fatto e simili.
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Secondo me è formulato male il problema... Non sono discriminabili i campi...
Ad esempio se ho già nel file CAMPI BISENZIO MARIA ASSUNTA ADDOLORATA 100-222-333-333-222 E da tastiera si inserisce : CAMPI BISENZIO MARIA MADDALENA 100-222-333-222-333 Come faccio a capire se devo scrivere CAMPI BISENZIO MARIA ASSUNTA ADDOLORATA 100-222-333-333-222 MARIA MADDALENA 100-222-333-222-333 o CAMPI BISENZIO MARIA ASSUNTA ADDOLORATA 100-222-333-333-222 MADDALENA 100-222-333-222-333 o CAMPI BISENZIO MARIA ASSUNTA ADDOLORATA 100-222-333-333-222 BISENZIO MARIA MADDALENA 100-222-333-222-333 ? Ci deve essere un carattere di separazione fra i campi...lo spazio non può essere un carattere discriminante... |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
perciò,
secondo me era la classica roba da fare con la prog a oggetti. Sotto sotto ci vuole un controllo di errore non proprio da mezz'oretta. |
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
ma sì che va bene.
i dettagli agli informatici. :P |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
come dice giustamente Cionci ed ho già asserito io, ho descritto il problema veramente con i piedi
dev'essere sto cavolo di caldo p.s. anche la perdita di formattazione ha contribuito a creare caos riformulerò in modo più corretto la mia domanda cmq, a me è sembrato un problema meno banale di quanto sembri Ultima modifica di misterx : 19-07-2003 alle 20:33. |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
|
Quote:
[file iniziale] ANCONA PALERMO MILANO BOLOGNA PISA LECCE Codice:
ora digito: ANCONA MARIA 100-200-300-400-500 e mi ritrovo: ANCONA MARIA 100-200-300-400-500 PALERMO MILANO BOLOGNA PISA LECCE se ora digito un valore che sta in mezzo al precedente: ANCONA MARIA 150-250-350-450 mi ritrovo: ANCONA MARIA 100-150-200-250-300-350-400-450-500 PALERMO MILANO BOLOGNA PISA LECCE (notate che qui l'algoritmo, avendo trovato già MARIA presente, i nuovi valori inseriti sono sati intercalati a quelli già esistenti) p.s tenete presente che i vari campi sono separati da una tabulazione Ultima modifica di misterx : 19-07-2003 alle 20:55. |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Bene: è un piccolo database
L'oggetto record deve avere : - il campo Città (std::string) - il campo Nome(std::string) - una std::lista (o std::vector) di interi Il caricamento lo fai per linee : carichi ogni linea in una string,inizializzi uno stringstream dalla linea quindi da questo inizializzi l'oggetto facendo il primo livello di controllo. il database sarà a sua volta un oggetto che avrà come membro lista o vector di records. Non so se va bene, ho scritto in fretta,vediamo che dice Cionci NB al posto della lista, nel record conviene mettere il container sempre ordinato (mi pare la deque,non mi ricordo) Ultima modifica di verloc : 20-07-2003 alle 07:17. |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Se conosci un pò di STL ,overloading degli operatori,f.o per odinare secondo criteri diversi allora te la cavi,e fai una cosa che funziona bene,compatta,che non ha bisogno di un programma proprietario;altrimenti alla C so' dolori(da masochista)
Ultima chance : Access Vediamo che tira fuori dal cilindro o' Mast' di Excelle ( a quest'ora si starà preparando per andare a mare) ps se quello dove va, può ancora definirsi mare Ultima modifica di verloc : 20-07-2003 alle 10:08. |
|
|
|
|
|
#20 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
ah com vi farria' fa' quatt'ann di Basicco pu' Commodore128 !
(ah come vi farei fare quattro anni di Basic col Commodore128 !) non voglio fare il saputo (saccente) ma veramente burdel (ragazzi) queste sono cose che si facevano, per esempio, alla 4a lezione di un corso di Cobol for dummies nel 1979. In VBA è un attimo. e in Fortran, Pascal, C (?). in C++ invece è un'oretta di declare più un due di programmazione più una di debugging: potenza della programmazione ad oggetti applicata a problemi puliti. ma non vi demoralizzate: non si va con una Ferrari su uno sterrato ! ... ehhh vi piacerebbe ... :P l'analogia giusta è: non si va con un fuoristrada (C++) su una pista di F1 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:13.











all'inizio del mio 3D








