#include #include #include /* questo programma legge una stringa, riconosce ed estrae da questa i numeri interi e floating, scrive la stringa rimanente e infine scrive separatamente i numeri interi e i numeri floating estratti, con un formato opportuno */ void main() { // stringa di input, indice corrente e lunghezza stringa char inpstr[100]; int inpind=0, strlen=0, numind;; cout << "Stringa di input (non terminare con: /cifra/./+/-):"<= '0' && curch <= '9' ) isint = true; } if ( isint || isdoub ) numind = inpind; else outstr[outind++] = curch; } else { bool convert=false; if ( curch == '.' ) { if ( isint ) { isint = false; isdoub = true; } else convert = true; } else convert = curch < '0' || curch > '9'; if ( convert ) { if ( isint && currint < maxint || isdoub && currdoub < maxdoub ) { int workind = 0; char workstr[100]; while ( numind < inpind ) workstr[workind++] = inpstr[numind++]; workstr[workind] = '\0'; if ( isint ) integ[currint++] = atoi(workstr); else rnum[currdoub++] = atof(workstr); } else while ( numind < inpind ) outstr[outind++] = inpstr[numind++]; outstr[outind++] = curch; isint = false; isdoub = false; } } } outstr[outind] = '\0'; cout << "\nStringa di output (senza i numeri):"<