Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-07-2003, 18:44   #1
misterx
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



purtroppo è andata a farsi benedire la formattazione

Ultima modifica di misterx : 17-07-2003 alle 21:11.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2003, 22:24   #2
recoil
Senior Member
 
L'Avatar di recoil
 
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
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 10:42   #3
frankk
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
frankk è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 11:06   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Re: X caxo sei Carmine L.??

Quote:
Originariamente inviato da frankk
6 furbo!!!! peccato ke nessuno ti risp.
Da oggi ci provo io!

by
The best



misterx è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 14:45   #5
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Re: Un algoritmo in C/C++

Quote:
Originariamente inviato da misterx

...
Se vi cimentate nello scrivere l'algoritmo funzionate, vi sarei grato se indicate anche il tempo da voi impiegato per risolvere il problema.

10 secondi per l'algoritmo.

invece è circa una settimana che penso a quale patologia possa affliggerti.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 15:45   #6
verloc
Senior Member
 
L'Avatar di verloc
 
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 grazie

Ultima modifica di verloc : 18-07-2003 alle 15:52.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 18:40   #7
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Re: Re: Un algoritmo in C/C++

Quote:
Originariamente inviato da a2000
10 secondi per l'algoritmo.

invece è circa una settimana che penso a quale patologia possa affliggerti.

fuori l'algoritmo, va bene anche in VBA così lo testo con Excel

di quale patologia soffro ?

non mi tenga sulle spine dottore
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 19:24   #8
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
cazzonaggine acuta.

ue' ma du chel che abiti ? a piazzale Corveetto ?


allora che mestiere fai ?
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2003, 22:30   #9
a2000
Bannato
 
L'Avatar di a2000
 
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
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 12:45   #10
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ti piace il presepie ?
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 12:53   #11
misterx
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 12:59.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 13:45   #12
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
esegue gli esempi che hai fatto e simili.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 17:04   #13
cionci
Senior Member
 
L'Avatar di cionci
 
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...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 17:12   #14
verloc
Senior Member
 
L'Avatar di verloc
 
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.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 18:04   #15
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ma sì che va bene.

i dettagli agli informatici. :P
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 19:13   #16
misterx
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 19:33.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 19-07-2003, 19:52   #17
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da cionci
Secondo me è formulato male il problema... Non sono discriminabili i campi...
vediamo se riesco ad esprimere meglio il problema

[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)
forse così è un pò più chiaro

p.s
tenete presente che i vari campi sono separati da una tabulazione

Ultima modifica di misterx : 19-07-2003 alle 19:55.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2003, 06:12   #18
verloc
Senior Member
 
L'Avatar di verloc
 
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 06:17.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2003, 09:04   #19
verloc
Senior Member
 
L'Avatar di verloc
 
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 09:08.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2003, 10:14   #20
a2000
Bannato
 
L'Avatar di a2000
 
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
a2000 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:59.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v