Tìm vị trí ký tự trong chuỗi C++ | Laptrinhcanban.com

Tìm vị trí ký tự trong chuỗi C++

Hướng dẫn cách tìm vị trí ký tự trong chuỗi C++. Bạn sẽ học được cách tìm vị trí ký tự trong chuỗi C++, cách tìm số lần xuất hiện của một ký tự trong một chuỗi trong C++, cũng như cách tìm vị trí xuất hiện thứ n của một ký tự trong chuỗi cho trước bằng hàm tự tạo sau bài học này.

Tìm vị trí ký tự trong chuỗi C++

Để tìm vị trí ký tự trong chuỗi C++, ví dụ như tìm vị trí của ký tự “o” trong chuỗi “Good School” chẳng hạn, chúng ta có thể dùng tới vòng lặp for để lấy và so sánh từng ký tự trong chuỗi ban đầu với ký tự cần tìm để tìm ra vị trí của ký tự đó trong chuỗi ban đầu.

Cụ thể chúng ta viết chương trình tìm vị trí ký tự trong chuỗi C++ như sau:

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

int main(){
char str[]= "Good School";
char chr = 'o';

//Tính độ dài chuỗi ban đầu
int len = strlen(str);


//sử dụng vòng lặp for để tìm vị trí ký tự "o" trong chuỗi
for (int i=0; i < len; i++){
//so sánh ký tự có index i với "o"
if (str[i] == chr) cout << "Tim thay ky tu "<<chr<<" tai vi tri: "<<i <<endl;
}
return 0;
}

Kết quả, chúng ta có thể tìm thấy vị trí xuất hiện của ký tự trong chuỗi ban đầu như sau:

Tim thay ky tu o tai vi tri: 1
Tim thay ky tu o tai vi tri: 2
Tim thay ky tu o tai vi tri: 8
Tim thay ky tu o tai vi tri: 9

Tìm số lần xuất hiện của một ký tự trong một chuỗi trong C++

Để tìm số lần xuất hiện của một ký tự trong một chuỗi trong C++, chúng ta có thể sử dụng lại cách tìm vị trí ký tự trong chuỗi C++ ở trên. Tuy nhiên chúng ta cũng cần thêm xử lý đếm số lần xuất hiện vào chương trình.

Cụ thể chúng ta viết chương trình tìm số lần xuất hiện của một ký tự trong một chuỗi trong C++ như sau:

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

int main(){
char str[]= "Good School";
char chr = 'o';
int count= 0;


//Tính độ dài chuỗi ban đầu
int len = strlen(str);


//sử dụng vòng lặp for để tìm vị trí ký tự "o" trong chuỗi
for (int i=0; i < len; i++){
//so sánh ký tự có index i với "o"
if (str[i] == chr){
count += 1;
}
}
cout << "Tong so lan tim thay ky tu: "<<count;
}

Kết quả, chúng ta có thể tìm thấy tổng số lần xuất hiện của ký tự chỉ định trong chuỗi ban đầu như sau:

Tong so lan tim thay ky tu: 4

Tìm vị trí xuất hiện thứ n của một ký tự trong chuỗi cho trước

Để tìm vị trí xuất hiện thứ n của một ký tự trong chuỗi cho trước, ví dụ như tìm vị trí xuất hiện thứ 3 của ký tự “o” trong chuỗi “Good School” chẳng hạn, chúng ta có thể dùng tới vòng lặp for để lấy và so sánh từng ký tự trong chuỗi ban đầu với ký tự cần tìm.

Dưới đây là một ví dụ:

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

int main(){
char str[]= "Good School";
char chr = 'o';
int count= 0, n =3;


//Tính độ dài chuỗi ban đầu
int len = strlen(str);


//sử dụng vòng lặp for để tìm vị trí thứ n của ký tự "o" trong chuỗi
for (int i=0; i < len; i++){
//so sánh ký tự có index i với "o", nếu giống thì tăng đếm đến số n
if (str[i] == chr){
count += 1;

//nếu biến đếm bằng n thì in ra kết quả và thoát vòng lặp
if (count == n){
cout << i;
break;
}
}
}
}
//8

Kết quả, chúng ta tìm ra được vị trí thứ 8 chính là vị trí thứ 3 của ký tự 'o' trong chuỗi ban đầu.

Trên đây là cách đơn giản và trực quan nhất mà Kiyoshi muốn giới thiệu cho bạn. Ngoài cách này ra thì còn rất nhiều cách khác đang chờ bạn khám phá đấy.

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm vị trí ký tự 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.

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.