30/09/2018, 17:20
Chương trình đảo ngược thứ tự các từ có trong chuỗi trong C++
Viết chương trình đảo ngược thứ tự các từ có trong chuỗi
Ví dụ: Nhập:lap trinh bang ngon ngu c
Xuất ra màn hình là: c ngu ngon bang trinh lap
Bài liên quan
bạn dùng 2 con trỏ chạy ngược từ cuối xâu, cứ mỗi con trỏ khi gặp khoảng trắng thì đánh dấu
dùng strtok và viết 1 hàm đệ quy cho chạy là ổn.
có cách nào khong dùng đệ qui không bạn ?tại mình chưa học đệ qui
cụ thể hơn được ko bạn?cảm ơn
Mình viết hơi dài, bạn cải tiến thêm nha
int count_space(string s){
int count = 0;
for (int i = 0; i < s.size(); i++){
if (s.at(i) == ’ ')
count++;
}
return count;
}
string *split(string s){
}
string dao(string s){
int space = count_space(s);
string *a = split(s);
string swap = “”;
for (int i = space; i >= 0 ; i–){
swap += a[i];
if (i != 0)
swap += " ";
}
return swap;
}
cảm ơn bạn nhiều,mình mới học nên ko biết gì
Bạn có thể dùng Hàm strrev :
• Công dụng: đảo ngược chuỗi kí tự
• Cấu trúc:
char *strrev(char *s);
strrev
nó đảo tất cả kí tự, còn yêu cầu là đảo ngược các từ (ngăn cách bởi dấu cách) có trong câu bạn ạ.Ukm. M xin lỗi , m nhầm mất câu hỏi.