Tin Học - Giải Mã Thông điệp Trong Pascal - HOCMAI Forum

Cộng đồng Học sinh Việt Nam - HOCMAI Forum Cộng đồng Học sinh Việt Nam - HOCMAI Forum
  • Diễn đàn Bài viết mới Tìm kiếm trên diễn đàn
  • Đăng bài nhanh
  • Có gì mới? Bài viết mới New media New media comments Status mới Hoạt động mới
  • Thư viện ảnh New media New comments Search media
  • Story
  • Thành viên Đang truy cập Đăng trạng thái mới Tìm kiếm status cá nhân
Đăng nhập Đăng ký

Tìm kiếm

Everywhere Đề tài thảo luận This forum This thread Chỉ tìm trong tiêu đề By: Search Tìm nâng cao… Everywhere Đề tài thảo luận This forum This thread Chỉ tìm trong tiêu đề By: Search Advanced…
  • Bài viết mới
  • Tìm kiếm trên diễn đàn
Menu Install the app Install Tin họcGiải mã thông điệp trong pascal
  • Thread starter Dũng8a7
  • Ngày gửi 10 Tháng hai 2020
  • Replies 11
  • Views 2,262
  • Bạn có 1 Tin nhắn và 1 Thông báo mới. [Xem hướng dẫn] để sử dụng diễn đàn tốt hơn trên điện thoại
  • Diễn đàn
  • CÁC MÔN HỌC KHÁC
  • Tin học - máy tính
  • Tin học trong nhà trường
  • Tin học cấp II
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Dũng8a7

Dũng8a7

Học sinh mới
Thành viên 10 Tháng hai 2020 10 1 6 19 Bình Phước Trường TH & THCS Lương Thế Vinh [TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

#include <iostream> #include <string.h> using namespace std; string a,s; string ans[51]; string giaima() { int dem=1; for (int i=0;i<=s.length()-1;i++) { ans[dem]+=s; if (s==' ') { dem++; ans[dem-1].erase(ans[dem-1].length()-1); } } } int main() { getline (cin,s); getline (cin,a); giaima(); for (int i=0;i<=a.length()-1;i+=2) { cout << ans[(int)(a-48)] << " "; } return 0; } trà nguyễn hữu nghĩa

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên 14 Tháng năm 2017 3,974 7,627 744 23 Phú Yên Trường THPT Lương Văn Chánh Mình không thể hiểu thuật toán này muốn viết cái gì....chạy trên Dev C++ cũng lỗi liên tục, nhưng mình có thể giúp bạn chuyển code. (PS: giải thích giúp mình xem thuật toán này dùng để làm gì) Mã: uses crt; var a,s: string; ans: array[1..51] of string; function giaima: string; var dem,i: integer; begin dem := 1; for i := 1 to length(s) do begin ans[dem] := ans[dem] + s; if (s = ' ') then begin inc(dem); delete(ans[dem-1],length(ans),1); end; end; end; var i: integer; BEGIN readln(s,a); giaima; i := 1; while i < length(a) do begin write(ans[ord(a[i])-48] + ' '); i := i + 2; end; END.
  • Like
Reactions: 02-07-2019. Dũng8a7

Dũng8a7

Học sinh mới
Thành viên 10 Tháng hai 2020 10 1 6 19 Bình Phước Trường TH & THCS Lương Thế Vinh Trong thời đại ngày nay, thông tin cá nhân của mỗi người dễ dàng bị xâm nhập bởi rất nhiều công nghệ hiện đại nghe lén. Chính vì vậy, một đôi bạn muốn bảo mật thông tin cho nhau đã có sáng kiến nghĩ ra cách trao nhau những thông điệp mà người khác đọc hoặc nghe được thì không hiểu gì. Thông điệp của họ là một câu với nhiều từ được phân biệt bởi ký tự trống (dấu cách) và được sắp xếp lộn xộn để trở thành câu vô nghĩa. Để hiểu nội dung một thông điệp của người bạn gởi cho mình, hai người bạn đã quy ước trước một bộ mã là một dãy số nguyên dương có số lượng số tương ứng với số từ của thông điệp nhằm giải mã thành câu có ý nghĩa. Yêu cầu: Lập trình để giúp đôi bạn giải mã một thông điệp cho trước. - Dữ liệu vào: File văn bản GIAIMA.INP gồm 2 dòng. + Dòng đầu ghi một câu có không quá 255 kí tự là thông điệp được gởi đi. Trong câu này có không quá 50 từ, mỗi từ có không quá 30 kí tự. + Dòng thứ hai ghi bộ mã gồm một dãy các số nguyên dương đôi một khác nhau dùng để giải mã thông điệp trên. - Dữ liệu ra: File văn bản GIAIMA.OUT gồm một dòng ghi câu đã được giải mã từ thông điệp đã cho. Ví dụ:
GIAIMA.INP
luon chuc hoc ban gioi luon 2 4 1 6 3 5
[TBODY] [/TBODY]
GIAIMA.OUT
chuc ban luon luon hoc gioi
[TBODY] [/TBODY]
[TBODY] [/TBODY]thank you anh dep zai trà nguyễn hữu nghĩa

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên 14 Tháng năm 2017 3,974 7,627 744 23 Phú Yên Trường THPT Lương Văn Chánh
Dũng8a7 said: Trong thời đại ngày nay, thông tin cá nhân của mỗi người dễ dàng bị xâm nhập bởi rất nhiều công nghệ hiện đại nghe lén. Chính vì vậy, một đôi bạn muốn bảo mật thông tin cho nhau đã có sáng kiến nghĩ ra cách trao nhau những thông điệp mà người khác đọc hoặc nghe được thì không hiểu gì. Thông điệp của họ là một câu với nhiều từ được phân biệt bởi ký tự trống (dấu cách) và được sắp xếp lộn xộn để trở thành câu vô nghĩa. Để hiểu nội dung một thông điệp của người bạn gởi cho mình, hai người bạn đã quy ước trước một bộ mã là một dãy số nguyên dương có số lượng số tương ứng với số từ của thông điệp nhằm giải mã thành câu có ý nghĩa. Yêu cầu: Lập trình để giúp đôi bạn giải mã một thông điệp cho trước. - Dữ liệu vào: File văn bản GIAIMA.INP gồm 2 dòng. + Dòng đầu ghi một câu có không quá 255 kí tự là thông điệp được gởi đi. Trong câu này có không quá 50 từ, mỗi từ có không quá 30 kí tự. + Dòng thứ hai ghi bộ mã gồm một dãy các số nguyên dương đôi một khác nhau dùng để giải mã thông điệp trên. - Dữ liệu ra: File văn bản GIAIMA.OUT gồm một dòng ghi câu đã được giải mã từ thông điệp đã cho. Ví dụ:
GIAIMA.INP
luon chuc hoc ban gioi luon 2 4 1 6 3 5
[TBODY] [/TBODY]
GIAIMA.OUT
chuc ban luon luon hoc gioi
[TBODY] [/TBODY]
[TBODY] [/TBODY]thank you anh dep zai Bấm để xem đầy đủ nội dung ...
vậy thì có lẽ mình đã dịch sai khá nhiều rồi đó, hoặc là thuật toán bạn gửi nó sai khá nhiều..... Mình chạy thử nhưng kết quả không như ý lắm :p trà nguyễn hữu nghĩa

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên 14 Tháng năm 2017 3,974 7,627 744 23 Phú Yên Trường THPT Lương Văn Chánh Dựa vào code người ta mình chỉnh sửa lại một xíu thôi....và chạy thấy nó cũng ổn nên bạn test thử nha (Tham khảo) :D Mã: uses crt; var a,s: string; ans: array[1..50] of string; function giaima: string; var dem,i: integer; anst: array[1..50] of string; begin dem := 1; for i := 1 to length(s) do begin anst[dem] := anst[dem] + s[i]; if (s[i] = ' ') then begin delete(anst[dem],length(anst[dem]),1); dem := dem+1; end; end; i := 1; dem := 1; while i <= length(a) do begin ans[ord(a[i])-48] := anst[dem]; i:= i + 2; dem := dem+1; end; end; var i,dem: integer; BEGIN clrscr; readln(s); readln(a); giaima; dem := 1; i := 1; while i <= length(a) do begin write(ans[dem] + ' '); i := i + 2; dem := dem + 1; end; readln; END.
  • Like
Reactions: Hồng Minh Dũng8a7

Dũng8a7

Học sinh mới
Thành viên 10 Tháng hai 2020 10 1 6 19 Bình Phước Trường TH & THCS Lương Thế Vinh cảm ơn anh nhưng chạy ko đc nha anh ơi anh very đẹp zai như newtonc40b89b85251aa0ff340.png nếu có thể thì anh làm dạng tệp luôn dùm e nha anh kiểu f:text; assign(f,'giaima.inp'); reset(f); readln(f,s); readln(f,a); assign(f,'giaima.out'); rewrite(f); thank anh nhìu Last edited by a moderator: 12 Tháng hai 2020 trà nguyễn hữu nghĩa

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên 14 Tháng năm 2017 3,974 7,627 744 23 Phú Yên Trường THPT Lương Văn Chánh
Dũng8a7 said: nếu có thể thì anh làm dạng tệp luôn dùm e nha anh kiểu f:text; assign(f,'giaima.inp'); reset(f); readln(f,s); readln(f,a); assign(f,'giaima.out'); rewrite(f); thank anh nhìu Bấm để xem đầy đủ nội dung ...
làm tệp mình lười cực....viết ra viết vào, in đi in lại :D mình chạy được nha, còn bạn thế nào thì mình không biết upload_2020-2-11_13-31-41.png Dũng8a7

Dũng8a7

Học sinh mới
Thành viên 10 Tháng hai 2020 10 1 6 19 Bình Phước Trường TH & THCS Lương Thế Vinh anh ơi anh test hộ em câu {luon chuc hoc ban gioi luon 2 4 1 6 3 5} xem chay đc ko nhé trà nguyễn hữu nghĩa

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên 14 Tháng năm 2017 3,974 7,627 744 23 Phú Yên Trường THPT Lương Văn Chánh
Dũng8a7 said: anh ơi anh test hộ em câu {luon chuc hoc ban gioi luon 2 4 1 6 3 5} xem chay đc ko nhé Bấm để xem đầy đủ nội dung ...
có lẽ bộ test có vấn đề nhỉ từ "chuc" phải đứng số 1 chứ sao lại 4??? bùi thị xuân mai

bùi thị xuân mai

Học sinh
Thành viên 28 Tháng bảy 2019 42 13 31 20 Quảng Nam thcs võ thị sáu
Dũng8a7 said: anh ơi anh test hộ em câu {luon chuc hoc ban gioi luon 2 4 1 6 3 5} xem chay đc ko nhé Bấm để xem đầy đủ nội dung ...
test này sai rồi bạn ạ lúc trước mình cũng làm bài này nhưng thầy mình nói là test này sai rồi test đúng là: luon chuc ban hoc gioi luon 3 1 2 4 5 3
  • Like
Reactions: trà nguyễn hữu nghĩa trà nguyễn hữu nghĩa

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên 14 Tháng năm 2017 3,974 7,627 744 23 Phú Yên Trường THPT Lương Văn Chánh
bùi thị xuân mai said: test này sai rồi bạn ạ lúc trước mình cũng làm bài này nhưng thầy mình nói là test này sai rồi test đúng là: luon chuc ban hoc gioi luon 3 1 2 4 5 3 Bấm để xem đầy đủ nội dung ...
test của bạn cũng bị "nhầm" thì phải khi có tới 2 số "3" trong bản test kìa, còn số 6 không thấy đâu :) ĐứcNhật!

ĐứcNhật!

Học sinh tiêu biểu
Thành viên 17 Tháng mười một 2017 1,525 3,788 529 Quảng Nam Trung Học Phổ Thông Chuyên Nguyễn Bỉnh Khiêm Mã: Const Fi='GIAIMA.INP'; Fo='GIAIMA.OUT'; Var f,g: text; St: String; A: array[1..255] of longint; B: array[1..255] of string; S,i,k: longint; Begin Assign(f,Fi); Reset(f); Assign(g,Fo); Rewrite(g); Readln(f,St); While St[1]=#32 do Delete(St,1,1); While St[length(St)]=#32 do Delete(St,length(St),1); While pos(#32#32,St)<>0 do Delete(St,pos(#32#32,St),1); s:=1; For i:=1 to length(St) do If St[i]=#32 then inc(s); For i:=1 to s do Read(f,A[i]); k:=1; For i:=1 to length(St) do If St[i]<>#32 then B[k]:=B[k]+St[i] Else inc(k); For i:=1 to s do Write(g,B[A[i]],' '); Close(f); Close(g); End. You must log in or register to reply here. Chia sẻ: Facebook Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link
  • Diễn đàn
  • CÁC MÔN HỌC KHÁC
  • Tin học - máy tính
  • Tin học trong nhà trường
  • Tin học cấp II
Top Bottom
  • Vui lòng cài đặt tỷ lệ % hiển thị từ 85-90% ở trình duyệt trên máy tính để sử dụng diễn đàn được tốt hơn.

Từ khóa » Giải Mã Thông điệp Pascal