Pasar letras a números

Iniciado por JonaLamper, 25 Octubre 2015, 17:10 PM

0 Miembros y 1 Visitante están viendo este tema.

JonaLamper

Buenas,

Estaba buscando algún pequeño programa al que yo pudiera pasarle un string "hola que tal" (por ejemplo) y me sacara por pantalla a qué número del alfabeto corresponde cada letra (tomando a = 1).

¿Alguien tiene algo parecido?

Muchísimas gracias ;D

Edito: He conseguido este programa. Lo estoy probando y casi lo tengo... pero me salta un tipo de error que no sé de dónde puede venir. Dejo el código por si alguien puede echarme una mano.

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main(){

string texto;
cout << "Ingrese el texto:";
cin >> texto[100];
int numeros[100];

for (int i = 0; i < texto.size(); i++){
if ((unsigned char)texto[i] == 164) numeros[i] = 15;
else if (texto[i] < 'o') numeros[i] = texto[i] - 96;
else numeros[i] = texto[i] - 95;
}

for (int i = 0; i < texto.size(); i++) cout << numeros[i] << " ";

cout << endl;
system("PAUSE");

return 0;
}
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

ivancea96

Código (cpp) [Seleccionar]
string texto;
cout << "Ingrese el texto:";
cin >> texto[100];
int numeros[100];


Estás pasándole a cin>> 1 caracter (fuera del rango de texto)

texto es una string. Si quieres leer una linea y guardarla en él, pon:

Código (cpp) [Seleccionar]
getline(cin, texto);

Y en caso de que la cadena tenga más de 100 letras, int numeros[100] no serviría. Pon:
Código (cpp) [Seleccionar]
int numeros[texto.size()];
O utiliza un vector.