Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make n nested for loop in C or Objective C

How to do something like this

for(int a = 0; a<2; a++){
        for(int b = 0; b<2; b++){
            for(int c = 0; c<2; c++){
                for(int d = 0; d<2; d++){

                    n[a+b+c+d]=x[a]*y[b]*z[c]...
}}}}

But i have x [n]...

like image 728
Stefan Hacko Avatar asked Dec 17 '25 04:12

Stefan Hacko


1 Answers

Recursively:

void do_sum(double *n, double *x, int limit, int index, double sum)
{
    if (limit == 0)
        n[index] = sum;
    else
        for (int a = 0; a<2; a++)
            do_sum(n, x, limit-1, index+a, sum+x[a]);
}

To initiate the recursion, start with do_sum(n, x, max_n, 0, 0)

like image 124
Martin v. Löwis Avatar answered Dec 19 '25 19:12

Martin v. Löwis