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

Đếm số từ trong một chuỗi nhất định trong C ++

Chúng tôi được cung cấp với một câu hoặc chuỗi chứa các từ có thể chứa khoảng trắng, ký tự dòng mới và ký tự tab ở giữa. Nhiệm vụ là tính tổng số từ trong một chuỗi và in ra kết quả.

Đầu vào - string str =“chào mừng bạn đến với \ n điểm hướng dẫn \ t”

Đầu ra - Số lượng từ trong một chuỗi là - 4

Giải thích - Có bốn từ trong một chuỗi, tức là chào mừng, đến, hướng dẫn, trỏ và phần còn lại là dấu cách (“”), ký tự dòng tiếp theo (\ n) và ký tự tab (\ t) hiện diện giữa các từ.

Đầu vào - string str =“\ nhonesty \ t là chính sách tốt nhất”

Đầu ra - Số lượng từ trong một chuỗi là - 5

Giải thích - Có bốn từ trong một chuỗi, tức là trung thực, là, tốt nhất, chính sách và phần còn lại là dấu cách (“”), ký tự dòng tiếp theo (\ n) và ký tự tab (\ t) hiện diện giữa các từ.

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

Có thể có nhiều giải pháp cho việc này. Vì vậy, trước tiên chúng ta hãy xem xét cách tiếp cận đơn giản hơn mà chúng tôi đã sử dụng trong đoạn mã dưới đây -

  • Tạo một mảng kiểu char để lưu trữ chuỗi, giả sử là str []

  • Khai báo hai biến tạm thời, một là count để đếm số từ trong một chuỗi và tạm thời để thực hiện các thao tác cờ

  • Vòng lặp bắt đầu Trong khi str không null

  • Bên trong vòng lặp, kiểm tra IF * str =khoảng trắng HOẶC * str =dòng tiếp theo OR * str =tab sau đó đặt nhiệt độ thành 0

  • Khác Nếu temp =0 thì đặt nhiệt độ thành 1 và tăng giá trị của bộ đếm lên 1

  • Tăng con trỏ str lên 1

  • Trả lại giá trị được đếm

  • In kết quả

Ví dụ

#include
using namespace std;
//count words in a given string
int total_words(char *str){
   int count = 0;
   int temp = 0;
   while (*str){
      if (*str == ' ' || *str == '\n' || *str == '\t'){
         temp = 0;
      }
      else if(temp == 0){
         temp = 1;
         count++;
      }
      ++str;
   }
   return count;
}
int main(){
   char str[] = "welcome to\n tutorials point\t";
   cout<<"Count of words in a string are: "<<total_words(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 of words in a string are: 4