Pagini recente » Cod sursa (job #2956516) | Cod sursa (job #503408) | Cod sursa (job #2767401) | Cod sursa (job #159856) | Cod sursa (job #230839)
Cod sursa(job #230839)
#include <stdio.h>
#include <stdlib.h>
void print(FILE *f, int **a, int n) {
int i,j;
for (i=0; i<n; i++) {
for (j=0; j<n; j++)
fprintf(f,"%d ",a[i][j]);
fprintf(f,"\n");
}
}
int main() {
int n,k;
FILE *f;
f = fopen("tablete.in","r");
fscanf(f,"%d %d",&n,&k);
fclose(f);
int **a=(int**)malloc(n*sizeof(int*));
int i, j;
for (i=0; i<n; i++)
a[i]=(int*)malloc(n*sizeof(int));
for (i=0; i<n; i++)
if (k%2 == 0) a[i][k-1] = k*(i+1);
else a[i][k-1] = (k-1)*(i+2);
int t=1, p=1;
for (i=0; i<n; i++)
for (j=0; j<k; j++) {
if (j == k-1) if (p%2==1) p++;
a[i][j]=p;
if ((t < p) && (j!=k-1)) {a[i][j]=t-1;p--;}
t++;p++;
}
t=a[n-1][k-1]+1;
for (i=0; i<n; i++)
for (j=k; j<n; j++)
a[i][j]=t++;
f = fopen("tablete.out","w");
print(f,a,n);
fclose(f);
return 0;
}