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";
}