Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - associazione di lettere a numeri HELP
Forum - C/C++ - associazione di lettere a numeri HELP - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Luke (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/10/2008

Segnala al moderatore
Postato alle 18:30
Giovedì, 09/10/2008
caspita gioser ti ringrazio tantissimo io lo ammetto senza pudore non ci sarei mai arrivato...peccato che ho mollato lo studio serio di c++...

ascolta, poi la smetto di turbarti con i miei drammi da poppante di c++..

l'ultimo dramma...
se io metto il tuo nome il risultato a è 37...come faccio a trasformare quel 37 in un 3+7? è possibile?

ti citerò nei credits, è il minimo;)

PM Quote
Avatar
gioser (Normal User)
Pro


Messaggi: 111
Iscritto: 03/10/2008

Segnala al moderatore
Postato alle 8:24
Venerdì, 10/10/2008
mah...

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.     using namespace std;
  6.  
  7.     char name[10];
  8.     int a = 0;
  9.         int tot = 0;
  10.    
  11.     cout << "Name: ";
  12.     cin >> name;
  13.     for (unsigned int i = 0; i < strlen(name); ++i)
  14.         a += (name[i] - 'a') % 9 + 1;
  15.         while (a > 0)
  16.         {
  17.                 tot += a % 10;
  18.                 a /= 10;
  19.         }
  20.     cout << "tot = " << tot << endl;
  21.     cout << "premi INVIO per uscire" << endl;
  22.     system("pause");
  23.     return 0;
  24. }



cosi'?

Ultima modifica effettuata da gioser il 10/10/2008 alle 14:48
PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 9:18
Venerdì, 10/10/2008
E' senza dubbio più sintetico, tuttavia per uno che torna dopo tanto tempo a programmare sarebbe stato molto più semplice. ;)

PM Quote
Avatar
gioser (Normal User)
Pro


Messaggi: 111
Iscritto: 03/10/2008

Segnala al moderatore
Postato alle 10:34
Venerdì, 10/10/2008
Testo quotato

Postato originariamente da WARRIOR:

E' senza dubbio più sintetico, tuttavia per uno che torna dopo tanto tempo a programmare sarebbe stato molto più semplice. ;)



non so... in fondo, sicuramente la mia soluzione è più complicata dal punto di vista matematico.
Ma non penso che lo sia dal punto di vista dei costrutti di programmazione ;)

Ma sicuramente dal punto di vista didattico sarebbe utile vedere anche la soluzione con la struttura chiave-valore... Perché non ne posti una implementazione? :)

Ultima modifica effettuata da gioser il 10/10/2008 alle 10:34
PM Quote
Avatar
Luke (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/10/2008

Segnala al moderatore
Postato alle 13:56
Venerdì, 10/10/2008
Testo quotato

Postato originariamente da gioser:

ecco il programmino che lo implementa:

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.     using namespace std;
  6.  
  7.     char name[10];
  8.     int a=0;
  9.    
  10.     cout << "Name: ";
  11.     cin >> name;
  12.     for(unsigned int i = 0; i < strlen(name); ++i)
  13.         a += (name[i] - 'a') % 9 + 1;
  14.     cout << "a = " << a << endl;
  15.     cout << "premi INVIO per uscire" << endl;
  16.     cin.get();
  17.     return 0;
  18. }



era questo che ti serviva ?? :)



mah penso di si...non lo compila perchè da errore "a += (name - 'a') % 9 + 1;" -> invalid operands of types `char*' and `int' to binary `operator%'
ma dov'è l'erroreeeeeee

PM Quote
Avatar
gioser (Normal User)
Pro


Messaggi: 111
Iscritto: 03/10/2008

Segnala al moderatore
Postato alle 14:24
Venerdì, 10/10/2008
postando il sorgente era sparito l'indice all'array name ... :grr:

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.         using namespace std;
  6.  
  7.         char name[10];
  8.         int a = 0;
  9.         int tot = 0;
  10.  
  11.         cout << "Name: ";
  12.         cin >> name;
  13.         for (unsigned int i = 0; i < strlen(name); ++i)
  14.                 a += (name[i] - 'a') % 9 + 1;
  15.         while (a > 0)
  16.         {
  17.                 tot += a % 10;
  18.                 a /= 10;
  19.         }
  20.         cout << "tot = " << tot << endl;
  21.         system("pause");
  22.         return 0;
  23. }


PM Quote
Avatar
Luke (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/10/2008

Segnala al moderatore
Postato alle 14:51
Venerdì, 10/10/2008
perfetto funziona perfettamente ti ringrazio tantissimo
avrai mie notizie:D

PM Quote
Avatar
Luke (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/10/2008

Segnala al moderatore
Postato alle 17:50
Martedì, 14/10/2008
devo essermi fatto prendere dalla foga del risultato immediato...ora non dormo la notte a tentare di risolvere sto problema...
il tuo algoritmo funziona effettivamente...
il mio problema ora è che non riesco ad "incastrarlo" nel mio programma...ho anke provato a scriverci intorno...ma niente...
il problema sorge perchè io devo fare in modo di poter "doppiare" il ciclo, nel senso che le variabili NOME che andranno immesse nel programma sono più di 1..solo che provando a duplicare i cicli mi escono errori strani...cosa mi puoi consigliare a riguardo? come strutturo il programma? Anticipatamente ti ringrazio...

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo