#include <stdio.h>
struct TPoint {
double x,
y;
};
typedef struct TPoint TPoint;
int main() {
TPoint P[3];
int i;
for(i = 0; i < 3; ++i) {
printf("Point No. %d (Abs and Ord) -> ", i + 1);
scanf("%lf %lf", &P[i].x, &P[i].y);
}
if(P[0].x == P[1].x || P[1].x == P[2].x) {
if(P[0].x == P[2].x) {
printf("%s\n", "The points are collinear!");
} else {
printf("%s\n", "The points are not collinear!");
}
} else if( (P[0].y - P[1].y) / (P[0].x - P[1].x) == (P[1].y - P[2].y)/(P[1].x - P[2].x) ) {
printf("%s\n", "The points are collinear!");
} else {
printf("%s\n", "The points are not collinear!");
}
return(0);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgVFBvaW50IHsKCWRvdWJsZSB4LAoJICAgICAgIHk7Cn07Cgp0eXBlZGVmIHN0cnVjdCBUUG9pbnQgVFBvaW50OwoKaW50IG1haW4oKSB7CgoJVFBvaW50IFBbM107CgoJaW50IGk7CgoJZm9yKGkgPSAwOyBpIDwgMzsgKytpKSB7CgoJCXByaW50ZigiUG9pbnQgTm8uICVkIChBYnMgYW5kIE9yZCkgLT4gIiwgaSArIDEpOwoKCQlzY2FuZigiJWxmICVsZiIsICZQW2ldLngsICZQW2ldLnkpOyAKCX0gCgoJaWYoUFswXS54ID09IFBbMV0ueCB8fCBQWzFdLnggPT0gUFsyXS54KSB7CgoJaWYoUFswXS54ID09IFBbMl0ueCkgewoKICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgIlRoZSBwb2ludHMgYXJlIGNvbGxpbmVhciEiKTsKCgl9IGVsc2UgewoKCQkgICAgcHJpbnRmKCIlc1xuIiwgIlRoZSBwb2ludHMgYXJlIG5vdCBjb2xsaW5lYXIhIik7CgoJfSAKCgl9IGVsc2UgaWYoIChQWzBdLnkgLSBQWzFdLnkpIC8gKFBbMF0ueCAtIFBbMV0ueCkgPT0gKFBbMV0ueSAtIFBbMl0ueSkvKFBbMV0ueCAtIFBbMl0ueCkgKSB7CgoJCSAgICBwcmludGYoIiVzXG4iLCAiVGhlIHBvaW50cyBhcmUgY29sbGluZWFyISIpOwoKCX0gZWxzZSB7CgogICAgICBwcmludGYoIiVzXG4iLCAiVGhlIHBvaW50cyBhcmUgbm90IGNvbGxpbmVhciEiKTsKCX0KCglyZXR1cm4oMCk7Cn0=