Matrix operations in C