Pagini recente » Cod sursa (job #2609970) | Cod sursa (job #1019844) | Cod sursa (job #1041401) | Cod sursa (job #157016) | Cod sursa (job #266417)
Cod sursa(job #266417)
#include <stdio.h>
int main ()
{int n,i,j,k,a[100][100],x;
FILE *f,*g;
f=fopen("tablete.in","r");
g=fopen("tablete.out","w");
fscanf(f,"%d%d",&n,&k);
if(k%2==0)
{
x=1;
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
a[i][j]=x++;
for(i=1;i<=n;i++)
for(j=k+1;j<=n;j++)
a[i][j]=x++;
}
else
if(k%2==1&&n%2==0)
{
x=1;
for(i=1;i<=n;i=i+2)
{for(j=1;j<=k-1;j++)
a[i][j]=x++;
a[i][k]=x+1;
a[i+1][1]=x;
x=x+2;
for(j=2;j<=k;j++)
a[i+1][j]=x++;
}
for(i=1;i<=n;i++)
for(j=k+1;j<=n;j++)
a[i][j]=x++;
}
else
if(k%2==1 && n%2==1)
{x=1;
for(i=1;i<=n;i=i+2)
{for(j=1;j<=k-1;j++)
a[i][j]=x++;
a[i][k]=x+1;
a[i+1][1]=x;
x=x+2;
for(j=2;j<=k;j++)
a[i+1][j]=x++;
}
x=(n-1)*k+1;
for(j=1;j<=k-1;j++)
a[n][j]=x++;
x++;
a[n][k]=x;
x--;
a[1][k+1]=n*k;
x=n*k+2;
for(j=k+2;j<=n;j++)
a[1][j]=x++;
for(i=2;i<=n;i++)
for(j=k+1;j<=n;j++)
a[i][j]=x++;
}
for(i=1;i<=n;i++)
{ fprintf(g,"\n");
for (j=1;j<=n;j++)
fprintf(g,"%d ",a[i][j]);
}
fclose(f);
fclose(g);
return 0;
}