Pues amigo yo llevo esto, ando haciendolo pero aqui hasta aqui he podido hacer:
//---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#define n 15
void cargarmatriz(int mat1[n][n]);
int mat1[n][n],i,j,k;
char resp;
void main()
{
cargarmatriz(mat1);
}//void main
void cargarmatriz(int mat1[n][n])
{ int auxi,auxj,k=0;
do
{
//srand(time(0));
printf(" ");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ mat1[j]=0;}
}
for(k=0;k<n;k++)
{ auxi=rand()%n;
auxj=rand()%n;
if(k==0)
mat1[auxi][auxj]=1;
else if(k==1)
mat1[auxi][auxj]=9;
else if(k==2)
{ mat1[auxi][auxj]=5;
mat1[auxi+1][auxj]=5;
}
else if(k==3)
{ mat1[auxi][auxj]=5;
mat1[auxi+1][auxj]=5;
mat1[auxi+2][auxj]=5;
}
}
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf(" %i",mat1[j]);
printf("\n ");
}
getch();
clrscr();
resp=toupper(getche());
}while(resp!='S');
getch();
}// void cargarmatriz
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#define n 15
void cargarmatriz(int mat1[n][n]);
int mat1[n][n],i,j,k;
char resp;
void main()
{
cargarmatriz(mat1);
}//void main
void cargarmatriz(int mat1[n][n])
{ int auxi,auxj,k=0;
do
{
//srand(time(0));
printf(" ");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ mat1[j]=0;}
}
for(k=0;k<n;k++)
{ auxi=rand()%n;
auxj=rand()%n;
if(k==0)
mat1[auxi][auxj]=1;
else if(k==1)
mat1[auxi][auxj]=9;
else if(k==2)
{ mat1[auxi][auxj]=5;
mat1[auxi+1][auxj]=5;
}
else if(k==3)
{ mat1[auxi][auxj]=5;
mat1[auxi+1][auxj]=5;
mat1[auxi+2][auxj]=5;
}
}
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf(" %i",mat1[j]);
printf("\n ");
}
getch();
clrscr();
resp=toupper(getche());
}while(resp!='S');
getch();
}// void cargarmatriz
//---------------------------------------------------------------------------