Đếm Số Lần Xuất Hiện Ký Tự trong Chuỗi C+ | Laptrinhcanban.com

HOME › >>

Đếm Số Lần Xuất Hiện Ký Tự trong Chuỗi C+

Hướng dẫn cách đếm Số Lần Xuất Hiện Ký Tự trong Chuỗi C++. Trong lập trình, việc đếm số lần xuất hiện của các ký tự trong chuỗi là một nhiệm vụ quan trọng và thường xuyên được thực hiện. Trong bài viết này, chúng ta sẽ khám phá cách thực hiện nhiệm vụ này bằng ngôn ngữ lập trình C++. Đồng thời, chúng ta sẽ xem xét các ứng dụng thực tế của việc đếm số lần xuất hiện ký tự trong chuỗi.

Đếm Số Lần Xuất Hiện Ký Tự sử Dụng Vòng Lặp và Xử Lý Chuỗi

Một cách đơn giản để đếm số lần xuất hiện của các ký tự trong chuỗi là sử dụng vòng lặp để duyệt qua từng ký tự và xác định số lần xuất hiện của mỗi ký tự. Dưới đây là một ví dụ minh họa:

#include <iostream>
#include <string>
#include <unordered_map>

using namespace std;

void countCharacterOccurrences(const string &str) {
unordered_map<char, int> charOccurrences;

// Duyệt qua từng ký tự trong chuỗi
for (char ch : str) {
// Tăng số lần xuất hiện của ký tự trong bản đồ
charOccurrences[ch]++;
}

// In số lần xuất hiện của mỗi ký tự
for (const auto &entry : charOccurrences) {
cout << "Ky tu " << entry.first << " xuat hien " << entry.second << " lan." << endl;
}
}

int main() {
string inputString = "Counting character occurrences in a string.";

// Gọi hàm đếm số lần xuất hiện của ký tự
countCharacterOccurrences(inputString);

return 0;
}

Trong ví dụ này, một unordered_map được sử dụng để lưu trữ số lần xuất hiện của từng ký tự trong chuỗi.

Sử Dụng Mảng Đếm và Thuật Toán Duyệt một Lần

Một cách hiệu quả hơn là sử dụng một mảng đếm để theo dõi số lần xuất hiện của các ký tự trong chuỗi.

#include <iostream>
#include <string>

using namespace std;

void countCharacterOccurrences(const string &str) {
const int MAX_CHAR = 256;
int charOccurrences[MAX_CHAR] = {0};

// Duyệt qua từng ký tự trong chuỗi
for (char ch : str) {
// Tăng số lần xuất hiện của ký tự trong mảng đếm
charOccurrences[static_cast<int>(ch)]++;
}

// In số lần xuất hiện của mỗi ký tự
for (int i = 0; i < MAX_CHAR; ++i) {
if (charOccurrences[i] > 0) {
cout << "Ky tu " << static_cast<char>(i) << " xuat hien " << charOccurrences[i] << " lan." << endl;
}
}
}

int main() {
string inputString = "Counting character occurrences in a string.";

// Gọi hàm đếm số lần xuất hiện của ký tự
countCharacterOccurrences(inputString);

return 0;
}

Trong ví dụ này, một mảng có kích thước 256 (tương ứng với mã ASCII) được sử dụng để lưu trữ số lần xuất hiện của mỗi ký tự.

Ứng Dụng Trong Xử Lý Dữ Liệu và Thống Kê

Xử Lý Dữ Liệu Người Dùng

Khi người dùng nhập một đoạn văn bản, việc đếm số lần xuất hiện của các ký tự có thể giúp phân tích và kiểm soát dữ liệu người dùng.

#include <iostream>
#include <string>

using namespace std;

void processUserInput(const string &userInput) {
// Gọi hàm đếm số lần xuất hiện của ký tự
countCharacterOccurrences(userInput);

// 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ê Ký Tự Trong Tệp Tin Văn Bản

Trong các ứng dụng đọc và phân tích văn bản, việc thống kê số lần xuất hiện của các ký tự có thể giúp hiểu rõ hơn về nội dung của tệp tin.

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

using namespace std;

void analyzeText(const string &filename) {
ifstream file(filename);
string text;

if (file.is_open()) {
// Đọc nội dung của tệp tin
getline(file, text);


file.close();

// Gọi hàm đếm số lần xuất hiện của ký tự
countCharacterOccurrences(text);
} else {
cout << "Khong the mo file!" << endl;
}
}

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

// Gọi hàm phân tích văn bản
analyzeText(filename);

return 0;
}

Tổng Kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách đếm số lần xuất hiện ký tự trong chuỗi C++ rồi. Đếm số lần xuất hiện của ký tự trong chuỗi là một nhiệm vụ quan trọng trong lập trình C++. Bằng cách sử dụng các kỹ thuật lập trình và cấu trúc dữ liệu phù hợp, chúng ta có thể dễ dàng và hiệu quả thực hiện việc này. Từ xử lý dữ liệu người dùng đến thống kê thông tin trong văn bản, khả năng đếm số lần xuất hiện của ký tự trong chuỗi giúp nâng cao chất lượng 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-so-lan-xuat-hien-ky-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.