Could someone implement push-relabel algorithm(to find max flow in a graph) in c

int push(int ind){
    for(int i=0;i<n;i++){
                int flows=mini(graph(ind)(i)-flow(ind)(i),excess(ind));
                excess(ind) -= flows;
                excess(i) += flows;
                flow(ind)(i) += flows;
                return 1;
    return 0;
void relabel(int u) 

    int mh = 100000; 

    for (int i = 0; i < n; i++) 
        if (graph(u)(i)) 
            if (flow(u)(i) == graph(u)(i)) 
            if (height(i) < mh) 
                mh = height(i); 
                height(u) = mh + 1; 
} ```

graph(i)(j) represents edge graph from node i to j.
flow(i)(j) represents current flow from node i to j.
height(i) represents the height of ith node.
Concept of height is used to check possible flows.(high to low flow is possible).
excess(i) represents difference in incoming flow - outgoing flow.

Initially height(source)=number of nodes.
          for (each edge from source to connected node)
              excess(i)=edge capacity

the current code is giving me runtime error.