En el Codigo que dejo más abajo me sucede que
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 ( ? ) ))
#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");
}