All pastes #2000029 Raw Edit

Someone

public text v1 · immutable
#2000029 ·published 2010-11-23 16:31 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int n, m, s, h, t, i, j;
char **v;


void meghivas()
{


	FILE *be;
	be = fopen( "be.txt", "r" );
	int err;
	err = fscanf( be ,  "%d %d\n", &m, &n );
	err = fscanf( be , "%d %d\n" , &s , &h );
	err = fscanf( be , "%d\n" , &t );
	

	 
	v = malloc(sizeof(char*)*n);
	for (i =0 ;i<n; i++)
		v[i] = malloc(sizeof(char)*m);

	for(i = 0; i < m; i++)
	{
		for(j = 0; j < n; j++)
		{
			v[i][j] = '.';
		}
	}
	
	char ch;
	int x, y, k; 
	double tav;
	int d;
	for(i = 0; i < t; i++)
	{
		
		err = fscanf( be , "%c %d %d\n" , &ch, &x, &y );
		d = ((ch == 'I') ? s : h);
		for(k = ((x-d < 0) ? 0 : x-d); k < ((x+d>m+1) ? m : x+d+1); k++)
		{
			for(j = ((y-d < 0) ? 0 : y-d ); j < ((y+d > n+1) ? n : y+d+1); j++)
			{
				if(v[k][j] == '.')
				{
				tav = sqrt((k - x)*(k - x) + (j - y)* (j - y));
				if(ch == 'I' && tav <= s)
				{
					v[k][j] = '*';
				} else if(ch == 'K' && tav <= h)
				{
					v[k][j] = '*';
				}
				}
			}
		}
		v[x][y] = ch;
	}		 
	


	fclose(be);
	

}



int main()
{
	FILE *ki;
	ki = fopen ( "ki.txt", "w");
	meghivas();
	for(i = 0; i < m; i++)
	{
		for(j = 0; j < n; j++)
		{
			fprintf( ki, "%c" , v[i][j]);
		} 
		fprintf( ki,  "\n" );
	}
	fclose(ki);

	free(v);
		



return 0;
}