Originariamente inviato da ramy89
Una stringa è un oggetto che contiene tutti i caratteri che compongono la stringa.
Questa è la comodità delle stringhe in c++ : la lunghezza la ottieni col metodo size(), non ti serve sapere a priori la lunghezza della stringa, ne prendere in input i caratteri uno per uno.
L' errore è questo:
codice:
cout <<  pari[i] <<  static_cast <int> (dispari[i]);
Ma ce ne sono molti altri concettuali.
Tu dichiari un array di 50 stringhe, ma a che ti serve?
Poi non puoi convertire una stringa in un int, dispari[i] è una stringa, semmai convertirai dispari[0][i] in un int.Ma ti bastava una stringa sola, non 50.

Se hai una stringa, la prendi in input con cin:
codice:
string str;
cin>>str;
Se poi vuoi elaborarla:
codice:
for(int i=0;i<str.size();i++)
{
    // fai quello che devi fare
    // str[i] ritorna il riferimento al carattere i-esimo della stringa
}
In definitiva l' esercizio poteva essere risolto molto più semplicemente:
codice:
string str;
cin>>str;
for(int i=0;i<str.size();i++)
{
    if(i%2)
        cout << static_cast <int> str[i] << "\t" ; // lo vedi meglio così
    else
        cout << str[i] << "\t";
}

mmm Grazie per le correzioni e le spiegazioni...
praticamente ho cercato di fare un programmino senza prima "racchiuderlo" in un algoritmo
cosi' di getto utilizzando le poche informazioni di cui sono attualmente in possesso in tema programmazione c + + (che ho praticamente iniziato a studiare ieri) .. per quanto riguarda gli "strafalcioni" ed errori concettuali mi son rifatto ai programmi che facevo 20 anni fa' in basic
nel quale dimensionavo i vettori prima e senza cognizione di causa in quanto i programmi nascevano sempre di getto (a parte quelli a scuola nel quale i vettori e le matrici venivano dimensionati a dovere )

per il resto di sicuro ho molto da studiare ...ma conto prima o poi di arrivare a livelli decenti..

grazie ancora ;-)