chào mn, thầy ra cho em bài tập, chuyển 1 file.txt văn bản sang mã morse, xuất ra fileout.txt đã được mã hóa, e đã thử rất nhiều cách rồi mà vẫn lỗi tùm lum. ai đã làm bt này hoặc biết cách làm chỉ giúp e với, e cảm ơn
Cần trợ giúp bài tập về mã MORSE
1 Like
Các cách của bạn là cách nào? Cho xem mã của từng cách!
1 Like
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
string input[100];
char kt;
int i=0,dem;
fstream filevao;
filevao.open("1.txt", ios::in);
if (filevao == 0)
{
cout << "Cannot read file!";
return 0;
}
while (!filevao.eof())
{
filevao.get(kt);
input[i] = kt;
i++;
dem=i;
}
for(i=0;i<dem-1;i++)
{
cout<<input[i];
}
filevao.close();
cout<<endl;
string vao[63]={
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9","0",
" "
};
string ra[63]={
".-", "-...", "-.-.", "-..",".", "..-.", "--.", "....", "..", ".---",
"-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-",
"..-", "...-", ".--", "-..-", "-.--", "--..",
".-", "-...", "-.-.", "-..",".", "..-.", "--.", "....", "..", ".---",
"-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-",
"..-", "...-", ".--", "-..-", "-.--", "--..",
".----", "..---", "...--","....-", ".....", "-....", "--...", "---..", "----.", "-----",
"/"
};
for(int i=0;i<dem-1;i++)
{
for(int j=0;j<63;j++)
{
if(input[i]==vao[j])
{
input[i]=ra[j];
}
}
}
for(i=0;i<dem-1;i++)
{
cout<<" "<<input[i];
}
fstream filera;
filera.open("2.txt",ios::out);
if (filera == 0)
{
cout << "Cannot found file!";
return 0;
}
for(int i=0;i<dem-1;i++)
{
filera<<input[i];
}
filera.close();
e đã làm được chữ sang morse, còn morse sang chữ chưa làm được
Bạn không phân cách cho các mã morse à?
Bạn ghi thế thì cho mình hỏi: -...-
sẽ là:
-
TEEET
? -
NEET
? -
BT
? -
NEA
? -
TST
? -
TV
? -
TIA
? - …?
- Hay là
=
?
2 Likes
Thường là sẽ có 1 khoảng nghĩ giữa các ký tự (như dấu cách). Còn dính chùm thì nhờ thầy giải dùm luôn
3 Likes
for(int i=0;i<dem-1;i++)
{
filera<<input[i];
}
em thêm <<" "<< ở giữa rồi, chạy cũng ok rồi anh, còn chuyển mã morse thành chữ nữa thui hix
Hm, chiều ngược lại làm y hệt như chiều xuôi thôi cậu, chỉ đổi 2 bảng ra và vào cho nhau là được.
Tớ nghĩ khi cậu đã làm được 1 chiều tốt như vậy rồi, không có lý do gì cậu cần trợ giúp từ bọn tớ cho chiều ngược lại cả
5 Likes