Please help with the following code,,,
It is compiling though but
During run its stating that
"Your code has stopped its execution with a non-zero (failure) exit value.This is generally due to run time Exceptions like Memory Access Violation and Floating Point Exception. Please check your code for run time Exceptions and try again. "[/B]
#include<stdlib.h>
#include<stdio.h>
struct amicable
{
int **amicablePair;
int size;
};
struct amicable *getAmicablePairs(int startnum,int endnum);
int main()
{
struct amicable *ami;
int i,startnum=200,endnum=300;
if(startnum<0&&endnum<0&&startnum>endnum&&endnum>=15000)
{
ami->amicablePair=NULL;
ami->size=0;
}
else
{
ami=getAmicablePairs(startnum,endnum);
printf("{");
for(i=0;i<ami->size;i++)
{
printf("{%d %d}",ami->amicablePair[i][0],ami->amicablePair[i][1]);
}
printf("}");
free(ami);
}
}
struct amicable *getAmicablePairs(int startnum,int endnum)
{
struct amicable *amic;
amic->size=0;
int i,j,divisor=0,divisor1=0,k=0,m;
amic->amicablePair=(int **)malloc(32*sizeof(int));
for(i=startnum;i<=endnum;i++)
{
for(j=1;j<=i/2;j++)
{
if(i%j==0)
divisor+=j;
}
if(divisor<=endnum&&divisor>i)
{
for(m=1;m<=divisor/2;m++)
{
if(divisor%m==0)
divisor1=divisor1+m;
}
if(divisor1==i)
{
amic->amicablePair[amic->size][0]=i;
amic->amicablePair[amic->size][1]=divisor;
amic->size++;
}
}
divisor=0;divisor1=0;
}
return amic;
}