Viết ct nén xâu ký tự
vd: s=AABCBCBCBCDD
xuất:2A4(BC)2D
làm bằng pascal nha
AABCBCBCBCBCDAABCBCBCBCBCDAABCBCBCBCBCD
Viết ct nén xâu sau:
Input | Output |
AACCBBB | A2C2B3 |
ABABUUC | (AB)2U2C |
giúp mình làm bài bằng pascal nha bài này hơi khó mình cảm ơn
uses crt;
var st,k,t:string;
d,dem,i:integer;
begin
clrscr;
readln(st);
d:=length(st);
k=''
dem=1;
for i:=2 to d do
begin
if st[i]=st[i-1] then inc(dem);
if st[i]<>st[i-1] then
btegin
str(dem,t);
if dem>1 then k:=k+t+st[i-1];
else k:=k+st[i-1];
dem=1;
end;
if (i=d) then
begin
str(dem,t);
if dem>1 then k:=k+t+st[i];
else k:=k+st[i];
end;
end;
write(k);
readln;
end.
Viết ct giải nén xâu:
Input | Output |
(AB)2(QXA)3 | ABABQXAQXAQXA |
pascal nha! mình cảm ơn
Program GIAINEN;
Var s,st: string;
j,i,k,l: byte;
begin
readln(s);
while length(s)<>0 do
begin
for i:=1 to length(s) do
if s[i] in ['A'..'Z'] then st:=st+s[i]
else if s[i] in ['1'..'9'] then break;
for i:=1 to length(s) do
if s[i] in ['2'..'9'] then
begin
val(s[i],k);
l:=i;
break;
end;
for j:=1 to k do write(st);
delete(s,1,l);
st:=''
end;
readln
end.
viết chương trình pascal Hoán vị ký tự theo khóa - Tên chương trình GRCAE.???
Nhập vào xâu S chỉ chứa các ký tự là chỉ cái in thường và khoảng trắng.
Cho trước khóa m là một hoán vị của n số (2<n<18). Để mã hóa một xâu ký tự ta có thể chia xâu thành từng nhóm từ trái sang phải mỗi nhóm có n ký tự; nếu nhóm cuối không đủ n ký tự thì ta có thể thêm các ký tự trắng vào sau cho đủ. Sau đó hoán vị các ký tự trong từng nhóm theo khóa, ghép các nhóm xâu lại theo thứ tự ta được một xâu đã mã hóa. Hãy viết chương trình mã hóa một xâu kí tự cho trước.
Ví dụ: Với n=8 và khóa m=87345621, thực mã hóa xâu S = “hello every body” như sau:
Tách xâu S thành các xâu mỗi xâu có 8 ký tự:
S1 = “hello ev”; S2 = “ery o body”
Thực hiện mã hóa xâu S1, S2 theo khóa m ta được S1’ và S2’:
S1’ = “vello eh”; S2’ =”ydy bore”
Input: GRCAE.INP
· Dòng 1: số nguyên n (2<n<18) và m (m là số nguyên có n chữ số).
· Dòng 2: ghi xâu cần mã hóa (độ dài xâu <=10^5).
Ouput: GRCAE.OUT
· Mỗi dòng ghi 1 xâu có n ký tự đã được mã hóa.
Ví dụ:
GRCAE.INP GRCAE.OUT
8 87345621
hello every body vello eh ydy bore
Viết ct nhập vào 1 xâu ký tự, hãy xoá hết các kí tự có trong xâu
chuoi = input("Nhập vào một chuỗi ký tự: ")
kieu_du_lieu_cu = type(chuoi)
kieu_du_lieu_moi = str
# tạo một danh sách chứa tất cả các ký tự xuất hiện trong chuỗi
ky_tu_can_loai_bo = ['a', 'e', 'i', 'o', 'u']
# loại bỏ các ký tự nằm trong danh sách khỏi chuỗi
chuoi = ''.join([c for c in chuoi if c.lower() not in ky_tu_can_loai_bo])
print("Chuỗi sau khi xóa các ký tự: ", chuoi)
Pascal
Viết CT chuyển đổi xâu chữ hoa thành chữ thường.
Program CHUOI_CHU_THUONG;
Uses Crt;
Var i,l:integer;
st:string[50];
Begin
Clrscr;
Writeln('DOI CHUOI SANG CHUOI CHU THUONG');
Writeln('------------------------------------------------------');
Write('Nhap chuoi ky tu: '); Readln(st);
For i:=1 to length(st) do
If (st[i]>='A') and (st[i]<='Z') then
st[i]:= chr(ord(st[i])+32);
Writeln;
Writeln('Chuoi doi thanh chu thuong la : ');
Writeln(st);
Writeln; l:=length(st);
st[l]:=upcase(st[l]);
For i:=l downto 2 do
If st[i]=' ' then st[i-1]:=upcase(st[i-1]);
Writeln('Chuoi cac ky tu cuoi cua tu la ky tu hoa: ');
Writeln(st);
Readln;
End.
Học tốt
Program DOI_CHUOI_CHU_HOA;
Uses Crt;
Var i:integer;st:string;
Begin
Clrscr;
Writeln('DOI CHUOI SANG CHUOI HOA');
Writeln('--------------------------------------');
Write('Nhap ho ten:');readln(st);
st[1]:=upcase(st[1]);
For i:=1 to length(St) do
If st[i]=' ' then st[i+1]:=upcase(st[i+1]);
Writeln('Ho ten sau khi doi lan 1 la: ',st);
For i:=1 to length(St) do
st[i]:=upcase(st[i]);
Writeln('Ho ten sau khi doi lan 2 la: ',st);
Readln;
End.
Viết chương trình nhập từ bàn phím một xâu ký tự S. Xuất xâu đã nhập. Thay thế tất cả các cụm ký tự 'anh' bằng cụm ký tự 'em'. Xuất xâu đã nhập
Cậu tham khảo nhé!!!
https://hoc24.vn/cau-hoi/viet-chuong-trinh-nhap-mot-xau-tu-ban-phim-thay-ky-tu-39a39-thanh-39i39-va-in-xau-da-thay-ra-man-hinh-thay-tat-ca-chu-39anh39-t.257698320219
uses crt;
var s:string;
begin
clrscr;
write('Nhap xau: '); readln(s);
while pos('a',s)<>0 do
begin
insert('i',s,pos('a',s));
delete(s,pos('a',s),1);
end;
write('Xau sau khi chuyen la : ',s);
readln;
end.
Viết chương trình nhập vào một xâu ký tự S. Xuất xâu đã nhập. Thực hiện chuyển đổi các ký tự thường thành ký tự in hoa có trong sâu S. Xuất xâu S đã chuyển đổi ra màn hình
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
writeln('Xau vua nhap la: ',st);
for i:=1 to d do
if st[i] in ['a'..'z'] then upcase(st[i]);
writeln(st);
readln;
end.
Viết chương trình nhập từ bàn phím một xâu ký tự S. Xuất xâu đã nhập. Thay thế tất cả các dấu cách bằng dấu gạch dưới ( _ ). Xuất xâu đã thay thế
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
writeln('Xau vua nhap la: ',st);
for i:=1 to d do
if st[i]=#32 then st[i]:='_'
writeln('Xau thay the la: ',st);
readln;
end.
Trong Pascal, từ khóa của kiểu dữ liệu xâu ký tự là:
Tham khảo/:
Để xử lý các chuỗi văn bản, Pascal đưa ra một kiểu dữ liệu mới gọi là xâu ký tự và được định nghĩa bằng từ khóa STRING. Xâu ký tự là dữ liệu bao gồm một dãy các ký tự trong bảng mã ASSCII. Cách khai báo: Var ten_xau: STRING[độ dài của xâu];
Tham khảo:
Để xử lý các chuỗi văn bản, Pascal đưa ra một kiểu dữ liệu mới gọi là xâu ký tự và được định nghĩa bằng từ khóa STRING. Xâu ký tự là dữ liệu bao gồm một dãy các ký tự trong bảng mã ASSCII. Cách khai báo: Var ten_xau: STRING[độ dài của xâu];