no estoy seguro de entender bien a que te refieres , pero lo dire asi y cualquier cosa me corriges. quieres poner un numero que introduzca el usuario x pantalla en una diagonal de la matriz y el resto en ceros?
Código C++:
Ver original
int k = 0;
for(i=0;i<tamanhomatriz;i++){
for(j=0; j<tamanhomatriz; j++){
if(i == j)//si esta en una poscicion de diagonal
matriz[i][j] = array[k];
k++
else
matriz[i][j]=0;
}
}
algo asi esa es la logica de lo que tienes que hacer , ojo valida que el tamanho del vector que quieres meter en la diagonal no sea mas grande que la diagonal de la matriz