Cześć,
Od czasu do czasu rozwiązuje łatwe zadania na spoj.com.
Oto moj kod oraz link do zadania:
AL_20_01 - Alfabet Morse'a
#include <iostream>
#include <string>
using namespace std;
int main()
{
string morse[27] = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", "/" };
string slowo;
getline(cin,slowo);
char* tablica = new char[slowo.length()];
for (int i = 0; i < slowo.length(); i++)
{
tablica[i] = slowo[i];
}
string przetlumaczony;
for (int i = 0; i < slowo.length(); i++)
{
for (int j = 0; j < 26; j++)
{
if ((tablica[i] - 97 == j)||(tablica[i] - 65 == j))
{
przetlumaczony += morse[j] + "/";
}
else if (tablica[i] == 32)
{
przetlumaczony += morse[26];
}
}
}
cout << przetlumaczony;
delete[] tablica;
system("pause");
return 0;
}
Nie szukam gotowego rozwiązania, bardziej mam problem ze spacjami tzn w zadaniu spacja powinna być przekonwertowania na znak "/", ale podczas drukowania tekstu, wykorzystując znak spacja, znak "/" jest drukowany kilkukrotnie i przyznam szczerze nie wiem w czym jest problem.