La línea ( análoga a la de " texto = .... " )
" " numeros = numeros + alfanumerico [ a ] ; " "
la única manera en que la entiendo ( más allá del mi comentario al lado ) es pensandola como un contador tipo " i = i + 1 ( 1 sería el prox Nro que encuentre ) "
....... Si pensarlo así está mal o bien, igualmente lo que no me cierra del todo es el " + " que suma dos variables
pero que ambas no tienen afinidad absoluta entre sí - o sea no es que " numeros = 8 y alfanumerico [ a ] = 17 ; o sea,
pensándolo como tipo de Datos .... ¡ string = string + char ( ? ) !!!! ( aunque sea cierto q la 2da variable sea un a
rray de la 1era - cuyo subíndice es el contador principal - ) ; ¿ Hay otra forma más clara de entenderlo ? (( X otra parte, si me explicarían porqué puedo prescindir de declarar la biblioteca CCTYPE - función isdigit - ..... pues si no la declaro el Codigo funciona igual ( ? ) ))
Código
#include <iostream> #include <cstdlib> #include <cctype> using namespace std; char alfanumerico[100]; string numeros; string texto; int main( ) { int a = 0; cout << "Ingrese N\243meros y Letras MEZCLADOS :" << endl; cin >> alfanumerico; // " a " va a referir a cada uno de los Elementos del 'Array', desde el " [0] ", // hasta el último que se ingrese " [ ' n ' ] " while ( a < ( sizeof ( alfanumerico ) - 1 ) ) // Que se evalúe la existencia, desde // lo cuantitativo, de un Elemento // del 'Array' que sea menor al // tamaño total del 'Array' { if ( isdigit ( alfanumerico [a] ) ) { numeros = numeros + alfanumerico [a]; // " Viene a ser como un ''' i = i + 1 ''' " // Si en el 'Array' ya había un Nro, que éste // se almacene y busque el próximo para // también almacenarlo en la Var " numeros " } else { texto = texto + alfanumerico [a]; // Si en el 'Array' ya había una Letra, que ésta // se almacene y busque la próxima para // también almacenarla en la Var " texto " } a ++; } cout << "Los N\243meros son :" << numeros << endl; cout << "Las Letras son :" << texto << endl; system ("pause"); }