Kiểm tra xâu đối xứng

     

Đề bài: Nhập vào một trong những xâu S từ keyboard rồi kiểm tra xem đó có phải là xâu đối xứng tốt không?

– Xâu đối xứng là xâu khi phát âm từ trái sang đề nghị hoặc phát âm từ bắt buộc sang trái mọi như nhau

VD: “aba”, “abcba”, “12321” là xâu đối xứng. Còn “1232”, “aabcb”, “miticc06” ko là xâu đối xứng.

Bạn đang xem: Kiểm tra xâu đối xứng


Nội dung bài viết

I. Trả lời giải BT bình chọn xâu đối xứng vào pascal C++1. đánh giá xâu đối xứng cách 12. Kiểm soát xâu đối xứng phương pháp 2

I. Khuyên bảo giải BT kiểm tra xâu đối xứng vào pascal C++

1. Chất vấn xâu đối xứng bí quyết 1

– Cách đơn giản dễ dàng nhất là ta đã đọc trái lại xâu S và lưu vào thay đổi S1. Sau đó kiểm tra 2 xâu có trọn vẹn giống nhau giỏi không?

ví dụ:

S=”abcde” => S1=”edcba”. 2 xâu này sẽ không giống nhau đề nghị không là xâu đối xứng.

S=”aabccbaa” => S1=”aabccbaa”. 2 xâu này như thể nhau trọn vẹn nên kết luận được là xâu đối xứng.

– Đây cũng là biện pháp mà trong sách giáo khoa Tin học 11 phân chia sẻ.

Đầu tiên bọn họ sẽ sản xuất xâu đảo ngược đối với xâu ban đầu,


VAR s1:string;for i:=length(s) downto 1 vị s1:=s1+s;
1
2
3
VAR s1:string;
for i:=length(s) downto 1 vì chưng
s1:=s1+s;

Sau đó họ so sánh if (s1=s) then ..... a. Code soát sổ xâu đối xứng biện pháp 1 Pascal 


program kiem_tra_xau_doi_xung;uses crt;var s, s1: string i:integer;begin clrscr; writeln("Nhap vao xau s: "); readln(s); for i:=length(s) downto 1 bởi s1:=s1+s; if (s1=s) then writeln("Xau doi xung") else writeln("Xau khong doi xung"); readln;end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program kiem_tra_xau_doi_xung;
uses crt;
var s, s1: string
i:integer;
begin
clrscr;
writeln("Nhap vao xau s: ");
readln(s);
for i:=length(s) downto 1 do
s1:=s1+s;
if (s1=s) then
writeln("Xau doi xung")
else
writeln("Xau khong doi xung");
readln;
end.

b. Code kiểm soát xâu đối xứng phương pháp 1 c++


#include #include using namespace std;int main(){ string s, s1=""; getline(cin,s); for (int i=s.length()-1; i>=0; i--) s1=s1+s; if (s1==s) cout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include
#include
using namespace std;
int main()

string s, s1="";
getline(cin,s);
for (int i=s.length()-1; i>=0; i--)
s1=s1+s;
if (s1==s)
cout "La xau doi xung";
else
cout "ko la xau doi xung";
return 0;

2. Bình chọn xâu đối xứng phương pháp 2

– cách thứ 2 cách tân từ biện pháp thứ nhất, thay vị sinh lại một xâu nghịch hòn đảo rồi so sánh thì họ so sánh trực tiếp từng kí tự trên xâu gốc, nên thời gian chạy sẽ nhanh hơn giải pháp thứ nhất.

– dấn xét chung: vì xâu đối xứng là xâu khi đảo ngược lại sẽ giống hoàn toàn vơi xâu gốc nên bạn cũng có thể xét dựa vào so sánh theo thứ tự các bộ phận đầu xâu với các thành phần cuối xâu.

Xem thêm: Ớ Máy Nội Địa Nhật: Máy Khoan, Máy Mài, Máy Cắt, Máy Nội Địa Nhật: Máy Khoan, Máy Mài, Máy Cắt

ví dụ s=”abba”

ta bao gồm s<1>=s<4>, s<2>=s<3> nên kết luận nó là xâu đối xứng.

Như vậy họ chỉ cần cho biến i chạy từ một đến (độ dài xâu) phân tách 2 và đối chiếu s với s<(độ nhiều năm xâu) – i +1> ví như tồn tại một chỗ mà 2 kí tự không giống nhau chúng ta cũng có thể kết luận tức thì nó ko đối xứng.

a. Code tìm hiểu thêm kiểm tra xâu đối xứng cách 2 pascal


program kiem_tra_xau_doi_xung; var s : string; k: integer;function doixung(s:string):Boolean;var i:integer; begin k:=length(s); for i:= 1 khổng lồ (k div 2) vị begin if s s then exit (False); end; exit(true);end;begin writeln("Nhap vao xau s: "); readln(s); if (doixung(s)=true) then writeln("Xau doi xung") else writeln("Xau khong doi xung"); readln;end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
program kiem_tra_xau_doi_xung;
var s : string;
k: integer;
function doixung(s:string):Boolean;
vari:integer;
begin
k:=length(s);
for i:= 1 lớn (k div 2) do
begin
if s s then
exit (False);
end;
exit(true);
end;
begin
writeln("Nhap vao xau s: "); readln(s);
if (doixung(s)=true) then
writeln("Xau doi xung")
else
writeln("Xau khong doi xung");
readln;
end.

b. Code xem thêm kiểm tra xâu đối xứng cách 2 c++


#include #include using namespace std;bool doixung(string s){ for (int i=0; i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include
#include
using namespace std;
bool doixung(string s)

for (int i=0; is.length()/2; i++)
if (s!=s)
return 0;
return 1;

int main()

string s;
getline(cin,s);
if (doixung(s))
cout "La xau doi xung";
else
cout "ko la xau doi xung";
return 0;

II. Bài xích tập tương tự

1. Hãy soát sổ số nguyên được nhập vào tất cả là số đối xứng không?

– Ở bài này còn có 2 phương pháp làm là sử dụng div hack hoặc cũng có thể xử lí bằng xâu như ở trên.

2. Viết chương trình đánh giá mảng số nguyên nhập vào có là xâu đối xứng xuất xắc không?


up load xâu solution code, Thuật Toán. permalink.

Xem thêm: Chưa Nhận Được Căn Cước Công Dân Qua Bưu Điện ", Cách Tra Cứu Căn Cước Công Dân Đã Làm Xong Chưa

Post navigation


QBMAX spoj – Đường đi bao gồm tổng bự nhất
Viết chương tra cứu nghiệm phương trình x1+x2+x3+…+xn = m

Trả lời Hủy

Email của các bạn sẽ không được hiển thị công khai. Các trường nên được lưu lại *

Bình luận

Tên *

Email *

Trang website

lưu giữ tên của tôi, email, và website trong trình phê chuẩn này cho lần bình luận kế tiếp của tôi.

Δ


Chuyên mục

Ngành công nghệ thông tin (45)Ngôn ngữ (23)Thuật toán (307)Cấu trúc tài liệu (26)Đồ thị (51)Webmaster (12)