já consegui aqui
adicionado 35 minutos depois
beleza agora so preciso de mais uma ajuda no if (Am [j] ==0) ele vai ver que não tem zero e nao vai por nada preciso que ele procure outro lugar, ou seja o "for" rode mais uma vez para achar outro local como faço?
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int main(){
srand(time(NULL));
int cont;
int insira;
int i, j; //contadores
int const N; // constante para definir o tamanho da matriz ambiente
int F;
printf("informe o tamanho do ambiente:");
scanf("%i", &N);
int Am[N] [N];//matriz usada como ambiente
/* 1-fosso, 2-wumpus, 4-agente*/
for(i=0;i<N;i++){
for(j=0;j<N;j++){
Am[i] [j] = 0; //matriz ambiente criada e preenchida com 0
}
}
F=N-1;
for(cont=0;cont<F;cont++){ //gerador do fosso
i=(rand()%N)+1; //geradores de posição aleatorios
j=(rand()%N)+1; //geradores de posição aleatorios
if(Am[i][j]==0) {
Am[i][j] = 1;
}
}
for(cont=0;cont<1; cont++ ){
i = (rand() %N)+1;
j = (rand() %N)+1;
if(Am[i][j]==0){
Am[i][j] = 2;
}
}
for(i=0; i<N; i++){
for(j=0;j<N; j++){
printf(" %i", Am[i][j]);
}
printf("\n");
}
}