Đếm số từ trong chuỗi C++ | Laptrinhcanban.com

HOME › >>

Đếm số từ trong chuỗi C++

Hướng dẫn cách đếm số từ trong chuỗi C++. Trong lập trình, việc xử lý và đếm số từ trong chuỗi là một công việc phổ biến và quan trọng. Trong bài viết này, chúng ta sẽ tìm hiểu về các phương pháp thực hiện đếm từ trong chuỗi bằng ngôn ngữ lập trình C++. Ngoài ra, chúng ta cũng sẽ xem xét các ứng dụng thực tế của việc đếm từ trong lập trình.

Đếm Từ sử Dụng Vòng Lặp và Xử Lý Chuỗi

Một trong những cách đơn giản nhất để đếm từ trong chuỗi là sử dụng vòng lặp để kiểm tra từng ký tự và xác định khi nào một từ mới bắt đầu. Dưới đây là một ví dụ:

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int countWords(const string &str) {
stringstream ss(str);
string word;
int wordCount = 0;

while (ss >> word) {
wordCount++;
}

return wordCount;
}

int main() {
string inputString = "Programming is an amazing skill to acquire.";

// Gọi hàm đếm từ
int wordCount = countWords(inputString);

cout << "So tu trong chuoi: " << wordCount << endl;

return 0;
}

Trong đoạn mã này, stringstream được sử dụng để tách các từ từ chuỗi, và vòng lặp đếm số từ.

Sử Dụng Hàm Algorithm và Iterator

Thư viện algorithm trong C++ cung cấp nhiều công cụ mạnh mẽ để thực hiện các thao tác trên dãy dữ liệu, bao gồm cả chuỗi. Dưới đây là một cách khác để đếm từ sử dụng count_if và iterator:

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int countWords(const string &str) {
return count_if(str.begin(), str.end(), [](char ch) { return isspace(ch); }) + 1;
}

int main() {
string inputString = "Programming is an amazing skill to acquire.";

// Gọi hàm đếm từ
int wordCount = countWords(inputString);

cout << "So tu trong chuoi: " << wordCount << endl;

return 0;
}

Trong ví dụ này, hàm count_if được sử dụng để đếm số lượng khoảng trắng (space) trong chuỗi, và sau đó cộng thêm 1 để có số từ.

Ứng Dụng Trong Xử Lý Văn Bản và Thống Kê

Xử Lý Văn Bản Người Dùng

Khi người dùng nhập một đoạn văn bản, việc đếm từ có thể giúp kiểm soát dữ liệu đầu vào và phân tích thông tin.

#include <iostream>
#include <string>

using namespace std;

void processUserInput(const string &userInput) {
// Gọi hàm đếm từ
int wordCount = countWords(userInput);

cout << "So tu trong van ban nguoi dung nhap: " << wordCount << endl;

// Tiếp tục xử lý dữ liệu người dùng...
}

int main() {
string userInput;

cout << "Nhap mot doan van ban: ";
getline(cin, userInput);

// Gọi hàm xử lý dữ liệu người dùng
processUserInput(userInput);

return 0;
}

Thống Kê Số Từ Trong Tệp Tin Văn Bản

Trong ứng dụng đọc và phân tích tệp tin văn bản, việc đếm từ là một phần quan trọng của quá trình thống kê và trích xuất thông tin.

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int countWordsInFile(const string &filename) {
ifstream file(filename);
string text;
int wordCount = 0;

if (file.is_open()) {
// Đọc nội dung của tệp tin
while (file >> text) {
wordCount++;
}
file.close();

return wordCount;
} else {
cout << "Khong the mo file!" << endl;
return -1; // Trả về -1 để chỉ ra lỗi khi đọc file
}
}

int main() {
string filename = "sample.txt";

// Gọi hàm đếm từ trong tệp tin
int wordCount = countWordsInFile(filename);

if (wordCount != -1) {
cout << "So tu trong file: " << wordCount << endl;
}

return 0;
}

Tổng Kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách đếm từ trong chuỗi C++ rồi. Đếm từ trong chuỗi không chỉ là một thách thức đơn giản mà còn là một phần quan trọng của nhiều ứng dụng lập trình. Qua bài viết này, chúng ta đã tìm hiểu về cách thực hiện đếm từ bằng C++ và nhìn nhận về ứng dụng thực tế của quá trình này. Từ xử lý dữ liệu người dùng đến thống kê số từ trong văn bản, khả năng đếm từ trong chuỗi giúp nâng cao tính linh hoạt và tính ứng dụng của các ứng dụng lập trình.

URL Link

https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/chuoi-string-trong-cpp/dem-tu-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.