[Solved] How do i select a number in a matrix in c?


If you mean number in a matrix as follows (example for matrixSize == 4):

  0  1  2  3
  4  5  6  7
  8  9 10 11
 12 13 14 15

you can just calculate indexes from number

 matrixValues[number/matrixSize][number%matrixSize]

EDIT:

For case when your 2D arreay defined as

 int matrixValues[matrixSize][matrixSize];

All elements allocated in memory sequentially, i.e. element matrixValues[1][0] is exact after matrixValues[0][matrixSize-1], so you can use number as shift from adress of element matrixValues[0][0], e.g.:

 *(((int*)matrixValues) + number)

For your example it can be

    int matrixValues[matrixSize][matrixSize];
    // input as 2D array
    int i, j;
    for(i = 0; i< matrixSize; i++)
    { 
        for(j=0; j < matrixSize; j++)
        {
            scanf("%d", &matrixValues[i][j]); 
        }   
    }   
    // using address of matrix as begining of array
    int* fakeArray = (int*)matrixValues;
    // output as 1D arrray
    int n;
    for(n = 0; n < matrixSize * matrixSize ; n++)
    {
        printf("%d ", fakeArray[n]);
    }

8

solved How do i select a number in a matrix in c?