This looks enough to cause confusion.
There's a lot going on in this line: gradient=((pt[i+1].y=4*i-7)-(pt[i].y=4*i-7))/((pt[i+1].x=i*i+3)-(pt[i].x=i*i+3));
I would recommend simplifying this code by breaking that up into multiple lines, it has no less than five separate assignments in there. But ultimately I think it calculates gradient = 0 / 0; which is clearly wrong.
This line is also too complex: pt[i].x=i*i=3;pt[i].y=4*i-7;
Adding a bit of spacing we see this:
pt[i].x = i*i = 3;
pt[i].y = 4*i-7;
But this expression isn't valid: i*i = 3
Again, break up the code into multiple lines, keep things simple.