Oppure

Loading
09/10/08 15:29
gioser
Postato originariamente da WARRIOR:

Potevi semplicemente implementare una struttura chiave-valore no?... :k:


Luca


ma così è più elegante e sintetico :D
aaa
09/10/08 16:30
Luke
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;)
aaa
10/10/08 6:24
gioser
mah...

#include <iostream>

int main()
{
    using namespace std;

    char name[10];
    int a = 0;
	int tot = 0;
    
    cout << "Name: ";
    cin >> name;
    for (unsigned int i = 0; i < strlen(name); ++i)
        a += (name[i] - 'a') % 9 + 1;
	while (a > 0)
	{
		tot += a % 10;
		a /= 10;
	}
    cout << "tot = " << tot << endl;
    cout << "premi INVIO per uscire" << endl;
    system("pause");
    return 0;
} 


cosi'?
Ultima modifica effettuata da gioser 10/10/08 12:48
aaa
10/10/08 7:18
WARRIOR
E' senza dubbio più sintetico, tuttavia per uno che torna dopo tanto tempo a programmare sarebbe stato molto più semplice. ;)
aaa
10/10/08 8:34
gioser
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 10/10/08 8:34
aaa
10/10/08 11:56
Luke
Postato originariamente da gioser:

ecco il programmino che lo implementa:

#include <iostream>

int main()
{
    using namespace std;

    char name[10];
    int a=0;
    
    cout << "Name: ";
    cin >> name;
    for(unsigned int i = 0; i < strlen(name); ++i)
        a += (name[i] - 'a') % 9 + 1;
    cout << "a = " << a << endl;
    cout << "premi INVIO per uscire" << endl;
    cin.get();
    return 0;
} 


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%' [i]
ma dov'è l'erroreeeeeee
aaa
10/10/08 12:24
gioser
postando il sorgente era sparito l'indice all'array name ... :grr:

#include <iostream>

int main()
{
	using namespace std;

	char name[10];
	int a = 0;
	int tot = 0;

	cout << "Name: ";
	cin >> name;
	for (unsigned int i = 0; i < strlen(name); ++i)
		a += (name[i] - 'a') % 9 + 1;
	while (a > 0)
	{
		tot += a % 10;
		a /= 10;
	}
	cout << "tot = " << tot << endl;
	system("pause");
	return 0;
} 
aaa
10/10/08 12:51
Luke
perfetto funziona perfettamente ti ringrazio tantissimo
avrai mie notizie:D
aaa