Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Programmazione
 non capisco dove è l'errore
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

rezzonico12
Utente giovane

Prov.: Bari


Inserito il - 12/06/2007 : 10:26:46  Mostra Profilo  Visita l'Homepage di rezzonico12 Invia a rezzonico12 un Messaggio Privato  Rispondi Quotando
Sto scrivendo un programma che chiede in input una cifra >10 dollari ed in output visualizza quante monete da 50, 20 e 10 cent sono necessarie per cambiarla.
Bisogna implementare una funzione che svolga questo compito, utilizzando il minor numero possibile di monete.

Per quanto sia un programma elementare, e per quanto abbia tentato diversi "stratagemmi", il programma funziona con i valori 10.0, 10.30, 10.40,10.50,10.80,10.90...Ma con 10.70, 10.60, 10.20, 10.10 non funziona, risulta un errore nella conversione resto->arrotondato.
Che fesseria ho fatto?
Decani dell'informatica, dateci un'occhiata.


Allegato: 200761210196_nonfunziona.txt

rel
Utente assiduo

aa



Inserito il - 13/06/2007 : 01:03:24  Mostra Profilo  Visita l'Homepage di rel Invia a rel un Messaggio Privato  Rispondi Quotando
Ciao! è chiaramente un problema di arrotondamento
al posto di
arrotondato = int (resto * 10);
prova ad utilizzare quest'altra istruzione:
arrotondato = (resto * 11);

non è elegante ma funziona. in pratica nel tuo caso se resto era 0.2, moltiplicandolo per 10 veniva 1.9999 (e non 2 come ti aspettavi) [e questo accade (se non dico fesserie) per via della rappresentazione binaria della macchina]; di conseguenza prendendo solo la parte intera, ottenevi 1 anzichè 2.
Fammi sapere se ti va bene come soluzione! Ciao

Modificato da - rel in data
Torna all'inizio della Pagina

rezzonico12
Utente giovane

Prov.: Bari


Inserito il - 13/06/2007 : 11:28:45  Mostra Profilo  Visita l'Homepage di rezzonico12 Invia a rezzonico12 un Messaggio Privato  Rispondi Quotando


Effettivamente la soluzione non è "ortodossa" ma comunque efficace.
Grazie mille, a breve richiederò altre consulenze
Torna all'inizio della Pagina

Aiace
Piccolo Cinema Onirico


Regione: Puglia
Prov.: Bari


Inserito il - 13/06/2007 : 11:45:54  Mostra Profilo  Visita l'Homepage di Aiace  Rispondi Quotando
rel come huber.
Torna all'inizio della Pagina

airbag
utente salvato da un

airbag

Città: manchester


Inserito il - 13/06/2007 : 13:32:48  Mostra Profilo  Visita l'Homepage di airbag  Invia a airbag un messaggio AOL Invia a airbag un Messaggio Privato  Rispondi Quotando
come luber?

<>Can't you see them?
Can't you see them?
roots can't hold them
Bugs console them<>
<big><big><big><i><font color="#000033">since
yourheadisshacking
inthat
yourarmsareshacking
inthat
yourfeetareshacking
cause
theEarthisshackin'</font></i></big></big></big>
Torna all'inizio della Pagina

rel
Utente assiduo

aa



Inserito il - 13/06/2007 : 22:59:11  Mostra Profilo  Visita l'Homepage di rel Invia a rel un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da Aiace

rel come huber.



ahahah mitico Aiace!
"così ho iniziato a correre! ma di brutto brutto brutto!"
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,16 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000