Multi-threaded matrix multiplication in C, for educational purposes. The program randomises two matrices of specified size and multiplies them using a standard single-threaded function, then using multiple threads that each work on one matrix row. Both single and multi-threaded results are printed to the console for easy comparison.