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

Chuyển đổi tất cả các chuỗi con có độ dài ‘k’ từ cơ số ‘b’ sang số thập phân trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để chuyển đổi tất cả các chuỗi con có độ dài ‘k’ từ cơ số ‘b’ sang số thập phân.

Đối với điều này, chúng tôi sẽ được cung cấp một chuỗi có độ dài nhất định. Nhiệm vụ của chúng ta là lấy các chuỗi con từ chuỗi đã cho có kích thước ‘k’ và chuyển nó thành các số thập phân từ trong cơ số ‘b’.

Ví dụ

#include <bits/stdc++.h>
using namespace std;
//converting the substrings to decimals
int convert_substrings(string str, int k, int b){
   for (int i=0; i + k <= str.size(); i++){
      //getting the substring
      string sub = str.substr(i, k);
      //calculating the decimal equivalent
      int sum = 0, counter = 0;
      for (int i = sub.size() - 1; i >= 0; i--){
         sum = sum + ((sub.at(i) - '0') * pow(b, counter));
         counter++;
      }
      cout << sum << " ";
   }
}
int main(){
   string str = "12212";
   int b = 3, k = 3;
   convert_substrings(str, b, k);
   return 0;
}

Đầu ra

17 25 23