Đếm khoảng trắng trong chuỗi C++ | Laptrinhcanban.com

HOME › >>

Đếm khoảng trắng trong chuỗi C++

Hướng dẫn cách đếm khoảng trắng trong chuỗi C++. Bạn sẽ học được cách kiểm tra một ký tự có phải là khoảng trắng hay không bằng hàm isspace trong C++, và ứng dụng hàm này để đếm khoảng trắng trong chuỗi C++ sau bài học này.

Kiểm tra một ký tự có phải là khoảng trắng hay không | hàm isspace()

Hàm isspace() trong C++ là một hàm có sẵn header file cctype, giúp chúng ta kiểm tra một ký tự có phải là khoảng trắng hay không.

Cú pháp tổng quát sử dụng hàm isspace để kiểm tra khoảng trắng trong C++ như sau:

isspace(char);

Trong đó char là ký tự cần được kiểm tra.

Hàm isspace() sẽ trả về 1 nếu như ký tự được chỉ định là khoảng trắng, và trả về 0 trong các trường hợp còn lại.

Các giá trị được coi là khoảng trắng trong C++ như bảng sau, và nếu ký tự được chỉ định thuộc một trong các giá trị này, thì hàm isspace() sẽ trả về 1.

Ký hiệuCodeÝ nghĩa
\t0x09tab ngang (TAB)
\n0x0Adòng mới(LF)
\v0x0Btab dọc (VT)
\f0x0Cngắt trang(FF)
\r0x0Dhồi quy(CR)
‘ ‘(0x20)khoảng trống (SPACE)

Ví dụ cụ thể, chúng ta kiểm tra các phần tử trong một mảng xem có phải là khoảng trắng hay không như sau:

Cách sử dụng hàm isspace để kiểm tra khoảng trắng trong C++ như sau:

Ví dụ 1: Kiểm tra các phần tử trong mảng có phải là khoảng trắng không

#include<iostream>
#include<cctype>
using namespace std;

int main(){
char chr[5] = {'\n', '2', 1, ' ', ','};
for(int i = 0; i < 5; i++){
if(isspace(chr[i])) {
cout <<"Vi tri "<< i <<" la khoang trang" << endl;
}
}
}

Kết quả:

Vi tri 0 la khoang trang
Vi tri 3 la khoang trang

Ví dụ 2: Kiểm tra ký tự tại vị trí chỉ định trong chuỗi có phải là khoảng trắng không

#include<iostream>
#include<cctype>
using namespace std;

int main(){
char str[] = "abc\teg";
cout <<str << endl;

int i = 3;
if(isspace(str[i])) {
cout << "Ky tu thu "<<i <<" la khoang trang" << endl;
}

return 0;
}

Kết quả:

abc     eg
Ky tu thu 3 la khoang trang

Đếm khoảng trắng trong chuỗi C++

Trong C++ không tồn tại cách thức có sẵn nào giúp chúng ta đếm khoảng trắng trong chuỗi C++ cả.

Tuy nhiên bằng cách ứng dụng hàm isspace() ở trên thì chúng ta hoàn toàn có thể tự tạo ra một hàm đếm khoảng trắng trong chuỗi C++.

Ý tưởng ở đây là tạo ra một vòng lặp và kiểm tra từng phần tử trong chuỗi C++ xem có phải là khoảng trắng không, và nếu là khoảng trắng thì đếm nó là xong.

Cụ thể chúng ta viết hàm đếm khoảng trắng trong chuỗi C++ như sau:

#include<iostream>
#include<cctype>
#include <cstring>

using namespace std;

int main(){
int n = 0;
char str[100] = "27 thang 8\t2021";
cout << str <<endl;

const int len = strlen(str);

for(int i = 0; i < len; i++){
if(isspace(str[i])) n += 1;
}

cout << "So khoang trang: "<<n;
return 0;
}

Kết quả:

27 thang 8      2021
So khoang trang: 3

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách đếm khoảng trắng trong chuỗi C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo

URL Link

https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/chuoi-string-trong-cpp/dem-khoang-trang-trong-chuoi-cpp/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.