Sir can you this same question in geeksforgeeks

https://practice.geeksforgeeks.org/problems/strongly-connected-components-kosarajus-algo/1

void dfs(vector adj[],int vis[],vector&a,int i){
vis[i]=1;
for(int j=0;j<adj[i].size();j++){
if(vis[adj[i][j]]==0){
dfs(adj,vis,a,adj[i][j]);
}
}
a.push_back(i);
}
void adfs(vector adr[],int avis[],int i){
avis[i]=1;
for(int j=0;j<adr[i].size();j++){
if(avis[adr[i][j]]==0){

        adfs(adr,avis,adr[i][j]);
    }
}

}
int kosaraju(int v, vector adj[])
{
vectoradr[v];
for(int i=0;i<v;i++){
for(int j=0;j<adj[i].size();j++){

        adr[adj[i][j]].push_back(i);
        
    }
}
int vis[v]={0};

vector a;
for(int i=0;i<v;i++){
if(vis[i]==0){

    dfs(adj,vis,a,i);
}

}

int count=0;
int avis[v]={0};
for(int i=v-1;i>=0;i–){

if(avis[i]==0){
    
    count=count+1;
    adfs(adr,avis,a[i]);
}

}
return count;
}

Where are u facing issue??