assignment help

I have an assignment that requires me to not use an array with [] at all throughout my code, read a file in a certain way, and I need a better understanding with malloc as well with pointers. The code with the [] is pretty easy for me, but pointers confuses me. I don't expect every single one of these to be answered which is fine.

For example:
/*input from datafile.dat*/
3
2
4
1 2
3 4
5 6 7 8

I understand that I need to get all that in the array which I got down. Array[2] should be 4 as

There is an obvious formula for moving from one column to another and one row to another if your matrix is designed as a 1D-array.
Consider this 3x4 matrix: *matrix = {1,2,3,4,5,6,7,8,9,10,11,12} What does this matrix look like in row/col form?
What is the contents of
-- row 1?
-- col 1?
-- cell 2,3

From that info, you can create a formula to determine what number to replace [][] with that can be added to the pointer itself, as in the first loop I posted above.