Code gives SIGSEGV error even though its running fine on ideone and devc++

Here’s the code…
'#include<stdio.h>
'#include<stdlib.h>
int main()
{
int p=0, q=0, i, j=0, k=0, m, n, l=0;
double count=0;
//Defines the number of rows of a 2D array using pointer
char inp = (char)malloc(100 * sizeof(char));
//Defines the number of columns of the 2D array
for(i=0;i<100;i++)
inp[i] = (char*)malloc(15 * sizeof(char));

printf("INPUT:\n");
//To take input as given in problem
for(i=0;i<100;i++)
{
	scanf(" %[^\n]", inp[i]);
	if(inp[i][0]=='0' && inp[i][1]==' ' && inp[i][2]=='0')
		break;

}
inp[i][0] = '\0';


printf("\n\nOUTPUT:\n");
//To find the solution to given problem
for(i=0;i<100;i++)
{
	if(inp[i][j]=='\0')
		break;

	//To find row and column of array
	while(inp[i][j]!='\0')
	{
		if(inp[i][j]==' ')
		{
			k=1;
			j++;
		}
		if(k==0)
			p = p*10 + (inp[i][j]-'0');
		if(k==1)
			q = q*10 + (inp[i][j]-'0');
		j++;
	}

	//Traverse the entire array in all directions for each block
	for(m=0;m<p;m++)
	{
		for(n=0;n<q;n++)
		{
			//Going Up
			k=m;
			while(k>0)
			{
				count++;
				k--;
			}

			//Going Down
			k=m;
			while(k<p-1)
			{
				count++;
				k++;
			}

			//Going Right
			l=n;
			while(l<q-1)
			{
				count++;
				l++;
			}

			//Going Left
			l=n;
			while(l>0)
			{
				count++;
				l--;
			}

			//Going Diagonal Right Up
			k=m;
			l=n;
			while(1)
			{
				if(k>0 && l<q-1)
				{
					count++;
					k--;
					l++;
				}
				else
					break;
			}

			//Going Diagonal Left Up
			k=m;
			l=n;
			while(1)
			{
				if(k>0 && l>0)
				{
					count++;
					k--;
					l--;
				}
				else
					break;
			}

			//Going Diagonal Left Down
			k=m;
			l=n;
			while(1)
			{
				if(k<p-1 && l>0)
				{
					count++;
					k++;
					l--;
				}
				else
					break;
			}

			//Going Diagonal Right Down
			k=m;
			l=n;
			while(k<p-1 && l<q-1)
			{
				if(k<p-1 && l<q-1)
				{
					count++;
					k++;
					l++;
				}
				else
					break;
			}
		}
	}
	j=0;
	k=0;
	l=0;
	p=0;
	q=0;
	printf("%.0lf\n", count);
	count=0;
}
return 0;

}`

Please could someone help me out. Thanks in advance.

I am unable to get through your code due to the numerous variables you have used. So, just check your code for ‘array out of bounds condition’. You might be trying to access an array element outside its range.

//