Hàm Đảo Chuỗi Trong C++

Để rèn luyện kiến thức về chuỗi vào C, bây giờ Lập trình ko khó đang cùng các bạn đi làm việc bài xích tập đảo ngược chuỗi nhập trường đoản cú bàn phím trong ngôn từ C/C++. Chúng ta đang cùng mọi người trong nhà tiến hành hòn đảo ngược chuỗi ko áp dụng hàm với đảo ngược chuỗi thực hiện hàm tất cả sẵn trong các thỏng viện của ngôn ngữ C/C++.

Bạn đang xem: Hàm đảo chuỗi trong c++

Input


Đảo ngược chuỗi không cần sử dụng hàm có sẵn

Nếu chưa chắc chắn bí quyết nhập chuỗi những chúng ta cũng có thể xem xét lại bí quyết nhập chuỗi tại trên đây.

trước hết các bạn buộc phải đếm coi chuỗi tất cả từng nào kí trường đoản cú. Với trách nhiệm này thì mình đang viết riêng rẽ một hàm Length() trả về số lượng kí tự trong chuỗi. Lưu ý Lúc các bạn nhập chuỗi vào sử dụng hàm fgets() thì nó sẽ hiểu cả kí trường đoản cú " " (giỏi kí từ enter) vào thời điểm cuối chuỗi. Nhiệm vụ của chúng ta là không đếm kí từ bỏ này.

Sau Lúc đạt được con số kí trường đoản cú vào chuỗi, vấn đề tiếp sau đã là hòn đảo ngược chuỗi. Các bạn sẽ sử dụng một nhỏ trỏ hình dạng char nhằm cất giữ chuỗi hòn đảo ngược.

Cuối cùng hàm DaoNguoc sẽ trả về nhỏ trỏ nhưng mà bọn họ dùng để lưu lại kí trường đoản cú.

Xem thêm: Code Tân Thủ Võ Lâm Chi Mộng, Giftcode Võ Lâm Chi Mộng Mobile

Nếu bạn chỉ việc xuất ra thì hoàn toàn có thể sử dụng 1 vòng for theo phía ngược chở lại nhỏng hàm InDaoNguoc.

Lời giải tham khảo:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include
int Length(char s<>)

int i = 0;
while (s != NULL)
++i;
return i - 1;

char *DaoNguoc(char str<>)

int length = Length(str);
char *temp = new char;
for (int i = 0; i length; i++)

temp = str;

temp = NULL; //Kết thúc chuỗi
return temp;

void InDaoNguoc(char str<>)
int length = Length(str);
printf(" Chuoi sau thời điểm dao nguoc la: ");
for (int i = length - 1; i >= 0; i--)

printf("%c", str);


int main()

char s<100>;
printf(" Nhap chuoi: ");
fgets(s, 100, stdin); // bắt buộc dùng hàm fgets
/*gets(s);*/
char *kq = DaoNguoc(s);
InDaoNguoc(s);
printf(" Chuoi sau thời điểm dao nguoc la: %s", kq);
return 0;

0
1
2
3
4
5
6
7
8
PS G:c_courcesday_58> g++ .Reverse.cpp -o .Reverse
PS G:c_courcesday_58> .Reverse.exe
Nhap chuoi: Nguyen Van Hieu
Chuoi sau thời điểm dao nguoc la: ueiH naV neyugN
Chuoi sau khoản thời gian dao nguoc la: ueiH naV neyugN

Đảo ngược chuỗi áp dụng hàm gồm sẵn

Với ngôn từ xây dựng C

Ngôn ngữ C có thư viện string.h, trong các số đó bao gồm hàm strrev() góp chúng ta cũng có thể hòn đảo ngược chuỗi một bí quyết đối chọi giản:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include
#include
int main()

char name<30> = "Nguyen Van Hieu";
printf("Truoc khi dao nguoc : %s ", name);
printf("Sau lúc dao nguoc : %s", strrev(name));
return 0;

Kết quả:


0
1
2
3
4
5
PS G:c_courcesday_57> g++ .StringFuntion.cpp -o .StringFuntion
PS G:c_courcesday_57> .StringFuntion.exe
Truoc lúc dao nguoc : Nguyen Van Hieu
Sau khi dao nguoc : ueiH naV neyugN

Với ngôn ngữ C++

Với câu hỏi sử dụng tlỗi viện string thì các bạn không cần phải đếm số lượng kí từ nữa rồi! Rất thuận lợi bắt buộc không.

Trước tiên thì chúng ta khởi sản xuất một temp(loại string) trống, tiếp nối ta thứu tự thêm từng kí trường đoản cú vào thời gian cuối temp. Ta đang thực hiện hàm pusk_bachồng nhằm thêm kí từ vào thời điểm cuối temp. Bây giờ đồng hồ trách nhiệm của chúng ta là đem từng kí tự của s theo hướng tự sau cho tới và thêm vào temp.

Cuối thuộc hàm DaoNguoc đã trả về temp, chính là chuỗi sẽ đảo ngược.


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include
#include
using namespace std;
string DaoNguoc(string s)
int length = s.length();
string temp;
for (int i = length-1; i >=0; i--)
temp.push_back(s);

return temp;

int main()

string s;
cin.clear();
getline(std::cin, s);
cout "Chuoi sau khi dao nguoc la: ";
cout DaoNguoc(s);
return 0;

0
1
2
3
Hoc lap trinh
Chuoi sau khi dao nguoc la: hnirt pal coH

Hoặc dễ dàng và đơn giản hơn tương đối nhiều trường hợp sử dụng hàm sau đây:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include
#include
using namespace std;
int main()

string str = "Lap trinc khong kho";
// Reverse str
reverse(str.begin(), str.end());
cout str;
return 0;

Kết quả:


0
1
2
ohk gnohk hnirt paL

Bài viết mình mang lại đây cũng xin xong xuôi. Cám ơn các bạn sẽ theo dõi !

Theo dõi thiết kế ko khó tại:


TAGS
Facebook
Twitter
Pinterest
WhatsApp
*
*

bài tập struct trong C/C++ tất cả lời giải


*

Giới thiệu trang web Luyện Code Online


*

Giáo trình Kỹ thuật xây dựng C – Phạm Văn Ất


*

Tổng vừa lòng tư liệu lập trình C/C++ cho những người mới


Sự khác biệt thân C với C++ là gì?


Học thiết kế online cùng với mức chi phí ưu đãi


Theo dõi
Kết nối với
Thông báo của
comment theo dõi và quan sát mới
Label
Name*
Email*
Website
Kết nối với
Label
Name*
Email*
Website
7 Bình luận
Phản hồi nội tuyến
Xem toàn bộ bình luận
Tải thêm bình luận
Kchất hóa học miễn phí

Blog chia sẻ kỹ năng và kiến thức thiết kế của Hiếu, thành lập xã hội những người dân học xây dựng. Cho đi kiến thức và kỹ năng mình có là giải pháp học tập công dụng nhất


Báo lỗi / Liên hệ / Hợp tác / Quảng cáo
Blogger
Facebook
Linkedin
Discord
Youtube

BÀI VIẾT HAY


Bài 1. Giới thiệu khóa huấn luyện “Học C Bá Đạo”


1000 bài bác tập xây dựng C/C++ gồm lời giải của thầy Khang


Kiểm tra số nguyên tố thực hiện C/C++ và Java


CHUYÊN MỤC HAY


- BẠN BÈ và ĐỐI TÁC -

---

© 2018-2020. Bản quyền thuộc Lập Trình Không Khó. Privacy và Terms


7
0
Rất thích Để ý đến của chúng ta, hãy phản hồi.x
()
x
| Reply
Insert
NHIỀU BÀI VIẾT HƠN

Bài 57. Các hàm vào thỏng viện string.h


Viết công tác liệt kê các hàng nhị phân bao gồm độ...