Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Nesse exemplo usei o map como se fosse um dicionário(n sei como posso chamar xD);
É bem simples seu funcionamento
1º Você digita quantas palavras você irá 'codificar'(vamos chamar codificar o traduzir)!
2º Você entra com a palavra codificada e na linha seguinte com sua tradução.
3º Você digita uma frase contendo(ou não) as frases codificadas.
Será apresentado para você a frase descodificada(traduzida);
Eis o código:
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main(){
map<string,string> dicionario;
char palavra[256];
string cod, descod, linha;
string pedaco[256];
int palavras, i, j, k;
dicionario.erase(dicionario.begin(), dicionario.end());
j = k = 0;
memset(palavra,'\0', 256);
cout << "Digite quantas palavras ira codificar : ";
scanf("%d", &palavras);
for(i=0;i<palavras;i++) {
if (i==0) scanf("%*c");
cout << "Digite a palavra codificada por voce: ";
getline (cin,cod);
cout << "Digite a palavra que ela significa: ";
getline (cin,descod);
dicionario[cod] = descod;
}
cout << "Digite a frase: ";
getline(cin, linha);
linha.append(" ");
for(i=0;i<linha.length();i++){
if (linha[i] != ' ') palavra[j++] = linha[i];
else{
j = 0;
pedaco[k++] = palavra;
memset(palavra,'\0', 256);
}
}
cout << "\nFrase Descodificada: ";
for(i=0;i<k;i++) if (dicionario.find(pedaco[i]) != dicionario.end()) cout << dicionario.find(pedaco[i])->second << " ";
else cout << pedaco[i] << " ";
cout << endl;
return 0;
}
Exemplo de Entrada e Saida:
>
In:
Digite quantas palavras ira codificar: 3
Digite a palavra codificada: wilber
Digite a palavra que ela significa: quitZAUMMM
Digite a palavra codificada: site
Digite a palavra que ela significa: forum.imasters
Digite a palavra codificada: algo
Digite a palavra que ela significa: moderador
Digite a frase: o wilber é algo do site
Out:
Frase Descodificada: o quitZAUMMM e moderador do forum.imasters
---
É isso ae galera um exemplo do que da pra fazer usando o map da STL.
qualquer duvida ou se você viw algum erro ae, n deixa de falar.
[]s até a proxima.
Carregando comentários...