/**(c) 2016 Michał (Foxbond) Chraniuk */
#include <stdio.h>
int tab[10][10];
void uzup()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
tab[i][j]=3;
}
}
}
void nieb(int i, int j)
{
int x,y;
for(x=i+1;x<10;x++)
{
if(tab[x][j]==0)
{
break;
}
else
tab[x][j]=2;
}
for(x=i-1;x>=0;x--)
{
if(tab[x][j]==0)
{
break;
}
else
tab[x][j]=2;
}
for(y=j+1;y<10;y++)
{
if(tab[i][y]==0)
{
break;
}
else
tab[i][y]=2;
}
for(y=j-1;y>=0;y--)
{
if(tab[i][y]==0)
{
break;
}
else
tab[i][y]=2;
}
for(x=i+1,y=j+1;x<10,y<10;x++,y++)
{
if(tab[x][y]==0)
{
break;
}
else
tab[x][y]=2;
}
for(x=i+1,y=j-1;x<10,y>=0;x++,y--)
{
if(tab[x][y]==0)
{
break;
}
else
tab[x][y]=2;
}
for(x=i-1,y=j+1;x>=0,y<10;x--,y++)
{
if(tab[x][y]==0)
{
break;
}
else
tab[x][y]=2;
}
for(x=i-1,y=j-1;x>=0,y>=0;x--,y--)
{
if(tab[x][y]==0)
{
break;
}
else
tab[x][y]=2;
}
}
void rozmiesc()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if (tab[i][j]==3)
{
tab[i][j]=1;
nieb(i,j);
break;
}
}
if (tab[i][j]==1)
{
break;
}
}
pokaz();
printf("\n");
if(i!=10 && j!=10)
rozmiesc();
}
void pokaz()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if (tab[i][j] == 0){
char d = 219;
printf("%c", d); continue;
}
if (tab[i][j] == 3){
char d = 176;
printf("%c", d); continue;
}
printf("%d",tab[i][j]);
}
printf("\n");
}
}
int main()
{
int x,y;
uzup();
tab[1][1]=tab[1][7]=tab[2][1]=tab[2][7]=tab[3][7]=tab[5][4]=tab[6][5]=tab[7][5]=0;
printf("Podaj rozmieszczenie 3 zawodnikow na planszy o wymiarach 10x10 pomijajac pola zajete\n(2,2)(2,8)(3,2)(3,8)(4,8)(6,5)(7,6)(8,6)\n");
pokaz();
printf("\nPodaj wspolrzedne pierwszego zawodnika\nx = ");
scanf("%d", &x);
printf("y = ");
scanf("%d", &y);
tab[x-1][y-1]=1;
nieb(x-1,y-1);
pokaz();
printf("Podaj wspolrzedne drugiego zawodnika\nx = ");
scanf("%d", &x);
printf("y = ");
scanf("%d", &y);
tab[x-1][y-1]=1;
nieb(x-1,y-1);
pokaz();
printf("Podaj wspolrzedne trzeciego zawodnika\nx = ");
scanf("%d", &x);
printf("y = ");
scanf("%d", &y);
tab[x-1][y-1]=1;
nieb(x-1,y-1);
pokaz();
printf("\n");
rozmiesc();
printf("Ostateczna forma\n");
pokaz();
getch();
return 0;
}
> Back