Search code examples
cloopssequential

I want to make this sequential code into a loop


How can i make this code which is only for initialization

m->dvd[0].id_f = 1;
m->dvd[0].id_c = 1;
m->dvd[0].state = AVAILABLE;

m->dvd[1].id_f = 1;
m->dvd[1].id_c = 2;
m->dvd[1].state = AVAILABLE;

m->dvd[2].id_f = 2;
m->dvd[2].id_c = 1;
m->dvd[2].state = AVAILABLE;

m->dvd[3].id_f = 2;
m->dvd[3].id_c = 2;
m->dvd[3].state = AVAILABLE;

m->dvd[4].id_f = 3;
m->dvd[4].id_c = 1;
m->dvd[4].state = AVAILABLE;

m->dvd[5].id_f = 3;
m->dvd[5].id_c = 2;
m->dvd[5].state = AVAILABLE;

Into something more loop-like? for example with For or While


Solution

  • Perhaps something like this could be it:

    for(int idx = 0; idx < 6; ++idx) {
        m->dvd[idx].id_f = idx / 2 + 1;  // 1, 1, 2, 2, 3, 3
        m->dvd[idx].id_c = idx % 2 + 1;  // 1, 2, 1, 2, 1, 2
        m->dvd[idx].state = AVAILABLE;
    }