Count occurrences of a character in a repeated string in C++

Given a string str, a character and a positive integer N. The string str is repeated indefinitely. The goal is to find the count of occurrences of character in str in first N characters of repetitions.
If str is “abac”, character is ch=‘b’ and N is 10.
In first 10 characters of “abacabacabacabac.......” b occurs twice.
Note − Take str and character ch within the same case.
Let us understand with examples.
For Example
str = "TPTTTT" ch = 'T' n = 12
Count of occurrences of a character in a repeated string are: 10
The number of ‘T’ in str is 5. Length of str is 6.
For n=12, str will be fully repeated twice, so count of Ts is 6*2=12.
str = "sets" ch = 's' n = 15
Count of occurrences of a character in a repeated string are: 7
The number of ‘s’ in str is 2. Length of str is 4.
For n=15, str will be fully repeated 3 times (first 12 characters), so count of s in those will be 3*2=6. For the remaining 3 characters (set) s occurs once. So count is 6+1=7
Approach used in the below program is as follows −
In this approach we will first count the number of occurrences of character ch in str. Then we will divide the length of str with N. We will get a number of full repetitions of str within N characters by (N / length of str). So, the number of occurrences of ch in those repetitions will be simple multiplication. For remaining characters (N % length of str) count ch in str again and add to previous count.
Take a string str.
Take a string str.
Take n as integer, ch as character and length of str as integer.
Take n as integer, ch as character and length of str as integer.
Function occurrences_char(string str, int length, int n, char ch) takes str, ch, n and length of str and returns the count of ch in first n characters in repeated string str.
Function occurrences_char(string str, int length, int n, char ch) takes str, ch, n and length of str and returns the count of ch in first n characters in repeated string str.
Take the initial count as 0.
Take the initial count as 0.
Using for loop count occurrences of ch in str. For each str[i]==ch, increment count.
Using for loop count occurrences of ch in str. For each str[i]==ch, increment count.
No of repetitions of str in n will be occ= n / length.
No of repetitions of str in n will be occ= n / length.
No. of occurrences of ch in these repetitions will be count * occ.
No. of occurrences of ch in these repetitions will be count * occ.
For remaining n % length characters of str check if str[i]==ch, if yes increment count.
For remaining n % length characters of str check if str[i]==ch, if yes increment count.
Return count as result.
Return count as result.
 Live Demo
#include <bits/stdc++.h>
using namespace std;
int occurrences_char(string str, int length, int n, char ch){
   int count = 0;
   for (int i = 0; i < length; i++){
      if (str[i] == ch){
         count++;
      }
   }
   int occ = n / length;
   count = count * occ;
   for (int i = 0; i < n % length; i++){
      if (str[i] == ch){
         count++;
      }
   }
   return count;
}
int main(){
   string str = "TPTTTT";
   char ch = 'T';
   int n = 12;
   int length = str.size();
   cout<<"Count of occurrences of a character in a repeated string are: "<<occurrences_char(str, length, n, ch);
   return 0;
}
If we run the above code it will generate the following output −
Count of occurrences of a character in a repeated string are − 10