Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm các ký tự ở cùng một vị trí như trong bảng chữ cái tiếng Anh trong C ++

Chúng tôi được cung cấp một chuỗi có độ dài bất kỳ chứa cả chữ hoa và chữ thường và nhiệm vụ là tính số lượng các ký tự đó ở cùng một vị trí như trong bảng chữ cái tiếng Anh.

Ví dụ

Input − String str = eBGD
Output − Count is: 2

Giải thích - B và D là các ký tự nằm cùng thứ tự trong bảng chữ cái tiếng Anh vì B đứng ở vị trí thứ hai và D ở vị trí thứ tư.

Input − String str = Abcdeizxy
Output − Count is: 5

Giải thích - A, B, C, D và E là các ký tự nằm theo cùng một thứ tự trong bảng chữ cái tiếng Anh vì A đứng ở vị trí đầu tiên rồi đến B, C, D và E.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập chuỗi bao gồm chữ hoa và chữ thường.

  • Bắt đầu vòng lặp từ 0 đến kích thước của một chuỗi có thể được tính bằng cách sử dụng hàm size ().

  • Bây giờ, hãy kiểm tra xem ‘i =str [i] -‘ a ’OR i =str [i] -‘ a ’’ vì chuỗi của chúng ta chứa cả chữ hoa và chữ thường.

  • Bây giờ, hãy lấy một biến tạm thời, giả sử là tạm thời, khởi tạo nó bằng 0, bên ngoài vòng lặp và bắt đầu tăng nó với 1 bên trong vòng lặp

  • Trả lại giá trị trong thời gian tạm thời

  • In kết quả.

Ví dụ

#include<iostream>
using namespace std;
int countalphabet(string str){
   int res= 0;
   // Traverse the string
   for (int i = 0 ; i < str.size(); i++){
      // As all uppercase letters are grouped together
      // and lowercase are grouped together so
      // if the difference is equal then they are same
      if (i == (str[i] - 'a') || i == (str[i] - 'A')){
         res++;
      }
   }
   return res;
}
// main function
int main(){
   string str = "aBTutorIalspOiNT";
   cout <<”Count is:”<< countalphabet(str);
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau

Count is: 2