ciao sono nuovo del forum e volevo porvi subito un quesito........
devo fare un programma che tratti una matrice N*N e la devo riempire in modo concentrico.Si parte da 1 e si incremente tutte le volte.

io ho provato a farlo ma nn capisco una cosa.Per semplicità ho riempito prima la cornice della matrice favendo incremetere una variabile di 1 ma non torna poichè arrivati alla fine della prima riga che è composta da questi numeri:

01234
1
2
3
4

e così via io vorrei che il risultato fosse il segunte

1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
adesso vi posto il codice e ditemi cosa sbaglio e correggetemelo pure!!!

grazie in anticipo
#include <iostream.h>
#include <windows.h>
#include <stdio.h>

void main (void)
{
int mat[100][100],n,k=1,j=0,l=1;
cout<<"inserisci n"<<endl;
cin>>n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{

mat[i][j]=0;
}
}

for(j=0;j<n;j++,k++)
{

mat[0][j]=k;
mat[j][n-1]=k;
mat[n-1][j]=k;
mat[j][0]=k;
}
for(i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cout<<mat[i][j];

}
cout<<endl;
}
}