Ho un altro quesito da sottoporvi.
Praticamente devo ricevere una stringa in input che contenga anche dei numeri e:
-sommare i numeri presenti nella stringa
-creare una cifra composta da tali numeri (ad Es. stringa ----> we34jhu57 ---> cifra = 3457) e sommarla alla somma dei numeri presenti nella stringa.
ecco il listato che ho elaborato io
codice://Somma numeri in una stringa #include <iostream> #include <cstdlib> using namespace std; int main() { const int strlenght=20; char str[strlenght+1]; char nod[strlenght+1]; int somma, j, i, cifra=0; cout << "Inserire stringa (max " <<strlenght<< " char) > "; cin.getline(str, strlenght); somma = 0; j=0; i=0; while ('\0'!=str[j]) { if ((str[j]>='0') && (str[j]<='9')) { somma += (int)str[j] - (int)'0'; nod[i] = str[j]; } j++; i++; } cifra = (int)nod; cout << "La somma dei numeri presenti nella stringa e' :"<< somma << endl; cout << "Il numero formato dalle cifre presenti nella stringa e' : " << cifra << endl; cout << "La loro somma e' : " << somma + cifra << endl; system("pause"); return 0; }
l'dea era di creare un'array di appoggio dove inserire sequenzialmente i numeri trovati nella stringa e poi successivamente trasformare l'array in un intero tramite il casting. purtroppo però l'operazione di casting non funziona in modo esatto. Dove sbaglio ?
Grazie

Rispondi quotando