Pagini recente » Cod sursa (job #2278262) | Cod sursa (job #2916433) | Cod sursa (job #1808393) | Cod sursa (job #1323726) | Cod sursa (job #1367728)
#include <stdio.h>
#include <stdlib.h>
FILE *f,*g;
int main()
{ f=fopen("tablete.in","r");
g=fopen("tablete.out","w");
int n,k,i,j,val,ok;
fscanf(f,"%d %d",&n,&k);
for(i=0;i<n;i++)
{ ok=0;//numarul de pe coloana se presupune ca este par
for(j=0;j<n;j++)
{ if(i%2==0)val=i+j+1;//daca linia este impara adun indicii de la linie si coloana + 1
else val=i+j+1+n;// daca linia este impara adun indicii de la linie si coloana plus dimensiunea matricii
if(i==n-1)val--;//daca sunt pe ultima linie scad cu o unitate valoare
if(j+1<k)fprintf(g,"%d ",val);
if((j+1==k)&&(val%2==1))fprintf(g,"%d ",ok=val+1);//daca am ajuns la numar si este impar adun 1 si devine par
else if((j+1==k)&&(val%2==0))fprintf(g,"%d ",val);//daca am ajuns la numar si este par il las asa
if((ok)&&(j+1>k))fprintf(g,"%d ",val+1);//daca am adunat cu 1 la numarul de pe coloana k, voi face asta si la urmatoarele
else if((!ok)&&(j+1>k))fprintf(g,"%d ",val);//daca nu am adunat nimic la numarul de pe coloana k, le voi afisa direct si pe urmatoarele
}
fprintf(g,"\n");
}
return 0;
}