Pagini recente » Cod sursa (job #2160668) | Cod sursa (job #2274837) | Cod sursa (job #61490) | Cod sursa (job #295484) | Cod sursa (job #206428)
Cod sursa(job #206428)
#include <stdio.h>
int l, c, n;
FILE *f, *g;
void det()
{
int i,j, a[n][c], k;
for (i=0; i<n; i++)
for (j=0; j<c; j++)
a[i][j]=0;
//prima linie
for (j=0; j<c; j++)
a[0][j]=j+1;
//prima coloana
for (i=1; i<n; i++)
a[i][0]=i;
//a doua linie
for (j=1; j<c; j++)
a[1][j]=j+c;
//diagonala
for (i=0; i<c-1; i++)
a[i+1][i+1]=a[i][i]+c-i;
//cele egale
for (i=0; i<c; i++)
a[i+1][i]=a[i][i];
//partea de sub diag princip
for (k=2; k<n-1; k++)
{
j=0;
for (i=k; i<n-1; i++)
{
a[i+1][j+1]=a[i][j]+c-j;
j++;
}
}
//partea de deasupra diag princip
for (k=0; k<n-2; k++)
{
i=0;
for (j=k+1; j<n-2; j++)
{
a[i+1][j+1]=a[i][j]+c-i;
i++;
}
}
for (i=0; i<n; i++)
{
for (j=0; j<c; j++)
fprintf(g, "%d ", a[i][j]);
fprintf(g, "\n");
}
}
int main()
{
f=fopen("lacate.in", "r");
g=fopen("lacate.out", "w");
fscanf(f, "%d", &n);
c=n-1;
l=n*c/2;
fprintf(g, "%d %d\n", l, c);
det();
return 0;
}