Exercicío em C

Desenvolva um algoritmo para fazer a multiplicacão de matrizes. Inicialmente
são lidos três valores M, N e P. Gere aleatoriamente uma matriz AMxN e outra matriz
BNxP com valores inteiros no intervalo [1,10]. Faça a multiplicacão da matriz A por B
e guarde na matriz resultante CMxP . Escrever a matriz resultante C.

Você poderia primeiro montar uma primeira versão, considerando duas matrizes de tamanhos conhecidos por desenvolver o algoritmo do produto das matrizes A e B:

int A[3][2]; // matriz A MxN
int B[2][3]; // matriz B NxP

int C[3][3]; // matriz C MxP
tudo em void main()

depois você pensa em ler os valores M, N e P e alocar dinamicamente as matrizes , gerar números randomicamente e mais tarde em criar uma função produto retornando a matriz resultante.

// Escolhendo N números aleatórios no intervalo ]1, 10[
// Como serão fornecidos os números M, N e P para a montagem das matrizes
// precisaremos de MxN + NxP números aleatórios
// supondo que
int M = 3;
int N = 2;
int P = 4;
// então
int total = ( M * N ) +( N * P );
int i, numero;

for ( i = 0; i < total; i++ ) {

// teremos os números aleatórios escolhidos para as matrizes A e B
   numero = ( rand() % 9 ) + 1;

}

assim que eu chegar no escritório vou testar esse código, obrigado pela ajuda !