How to convert a 2D coordinate into 1D index in C

1 Answer

0 votes
#include <stdio.h>
 
int main(void)
{
    int array2d[4][5] = { { 1,   2,   3,   6,  0},
                          {-5,  -4,   0,   7,  9},
                          { 1,  18, 100,  14,  6},
                          { 9,  10,  27,  12, 13} };
 
    int rows = (sizeof(array2d) / sizeof(array2d[0]));
    int cols = (sizeof(array2d) / sizeof(array2d[0][0])) / rows;
 
    int i = 1, j = 3;
          
    int index = i * cols + j;
          
    printf("%d\n", index) ;  
 
    return 0;
}
 

 
/*
run:
 
8

*/

 



answered Sep 18, 2023 by avibootz

Related questions

1 answer 144 views
1 answer 149 views
1 answer 158 views
1 answer 149 views
1 answer 135 views
1 answer 165 views
1 answer 154 views
...