Giúp mình với ạ, viết chương trình nhập vào một xâu và in ra xâu dưới dạng ký tự trắng thay bằng ký tự'a'và số ký tự trắng trong xâu.Cảm ơn nhiều ạ
Bài 2. Viết chương trình nhập vào một xâu bất kỳ. In ra màn hình xâu đó sau khi đã xóa hết
ký tự trắng dư thừa. Ký tự trắng dư thừa (hay còn gọi là dấu cách, ký tự trống) là ký
tự trắng xuất hiện ở trước từ đầu tiên của xâu, sau từ cuối cùng của xâu và giữa các
từ cách nhau nhiều hơn 1 ký tự trắng.
Ví dụ: Giả sử * là ký tự trắng.
Cho xâu: ’**xin***chao**’. => Xâu sau khi được xử lý ’xin*chao’
Gợi ý:
Kiểm tra phần tử trong xâu có phải là ký tự trắng hay không? Nếu đúng thì xóa ký tự trắng đó
cho đến khi không còn ký tự trắng ở đầu xâu.
Kiểm tra từ đầu đến cuối xâu, nếu có 2 ký tự trắng liên tiếp => Xóa đi 1 ký tự trắng, thự hiện
công việc xóa cho đến khi giữa các từ trong xâu chỉ cách nhau 1 ký tự trắng.
Sau khi xử lý các ký tự trắng dư thừa ở đầu xâu, giữa xâu. Ta xử lý tiếp ký tự trắng dư thừa ở
cuối xâu bằng cách kiểm tra ký tự cuối cùng có phải là ký tự trắng hay không. Nếu đúng thì xóa
cho đến khi ký tự cuối cùng của xâu không phải là ký tự trắng.
B1: Khai báo.
B2: Nhập xâu bất kỳ.
B3: Xoá ký tự trắng dư thừa
B3.1: Xoá ký tự trắng dư thừa xuất hiện ở đầu tiên của xâu (nếu có).
Chừng nào ký tự đầu tiên trong xâu là ký tự trắng => xoá ký tự trắng đó cho đến khi đầu xâu
không phải là ký tự trắng.
B3.2: Xoá ký tự trắng dư thừa cuối cùng của xâu (nếu có).
Chừng nào trong xâu xuất hiện 2 ký tự trắng trong xâu => xoá đi 1 ký tự trắng dư thừa.
B3.3: Xoá ký tự trắng dư thừa giữa các từ (nếu có).
Chừng nào ký tự cuối cùng là ký tự trắng => Xoá đi ký tự đó.
B4: In ra kết quả
#include <bits/stdc++.h>
using namespace std;
string st;
int d,i;
int main()
{
getline(cin,st);
d=st.length();
for (i=0; i<=d-1; i++)
if ((st[i]==' ') and (st[i+1]=' ')) st.erase(i,1);
cout<<st;
return 0;
}
1.Viết chương trình nhập một xâu ký tự gồm các ký tự từ “ a” đến “ z” và “A” đến “Z”. In ra màn in xâu đã nhập theo dạng chữ viết thường.
2.Viết chương trình đã nhập vào một số nguyên.Chuyển số đã nhập thành xâu số nguyên
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 chương trình nhập 1 xâu từ bàn phím, đưa ra:
a. Độ dài xâu.
b. Xâu đã xóa đi 1 ký tự đầu.
c. Xâu đã xóa đi 2 ký tự cuối.
d. Xâu đã xóa đi 1 ký tự giữa.
e. Xâu đã in hoa.
f. Vị trí của khoảng trắng đầu tiên.
g. Đếm số ký tự ‘a’ có trong xâu.
Viết chương trình nhập một xâu ký tự gồm các ký tự từ “ a” đến “ z” và “A” đến “Z” . In ra màn in xâu đã nhập theo dạng chữ viết hoa.
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 vào một xâu ký tự st có độ dài không quá 100. Hãy thay thế các ký tự "a" hoặc "A" thành ký tự "b" trong xâu st. Đưa kết quả ra màn hình.
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
readln(st);
d:=length(st);
for i:=1 to d do
if (st[i]='a') or (st[i]='A') then st[i]:='b'
writeln(st);
readln;
end.
Bài tập xâu: Viết chương trình nhập xâu s từ bàn phím. In ra màn hình số lượng ký tự số, ký tự thường, ký tự hoa và ký tự đặc biệt.
uses crt;
var s:string;
i,d,dem1,dem2,dem3,dem4:integer;
begin
clrscr;
write('Nhap xau s:'); readln(s);
d:=length(s);
dem1:=0;
dem2:=0;
dem3:=0;
dem4:=0;
for i:=1 to d do
begin
if st[i] in ['0'..'9'] then inc(dem1)
else if st[i] in ['a'..'z'] then inc(dem2)
else if st[i] in ['A'..'Z'] then inc(dem3)
else inc(dem4);
end;
writeln('So luong ky tu so la: ',dem1);
writeln('So luong ky tu thuong la: ',dem2);
writeln('So luong ky tu hoa la: ',dem3);
writeln('So luong ky tu dac biet la: ',dem4);
readln;
end.
Viết chương trình nhập vào một xâu ký tự St1 (nhỏ hơn 30 ký tự), hãy loạibỏ khỏi xâu nhóm các ký tự ‘abc’ và xuất ra xâu St2 sau khi đã loại bỏ các ký tự trên
tk
uses crt;
var st1:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st1);
d:=length(st1);
for i:=1 to d do
if (st1[i]='a') and (st1[i+1]='b') and (st1[i+2]='c') then delete(st1,i,3);
writeln(st1);
readln;
end.