#include <stdio.h>
struct Point {
int x;
int y;
};
struct Rect {
struct Point lt;
struct Point rb;
};
void transform(struct Rect *r) {
int tmpltx, tmplty, tmprbx, tmprby;
tmpltx = -(*r).rb.x;
tmplty = -(*r).rb.y;
tmprbx = -(*r).lt.x;
tmprby = - (*r).lt.y;
(*r).rb.x = tmprbx;
(*r).rb.y = tmprby;
(*r).lt.x = tmpltx;
(*r).lt.y = tmplty;
return;
}
int main () {
struct Rect rect = { {2, 4}, {7,1} };
transform(&rect);
printf("%d %d %d %d\n", rect.
lt.
x, rect.
lt.
y, rect.
rb.
x, rect.
rb.
y); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgUG9pbnQgewogICAgaW50IHg7CiAgICBpbnQgeTsKfTsKc3RydWN0IFJlY3QgewogICAgc3RydWN0IFBvaW50IGx0OwogICAgc3RydWN0IFBvaW50IHJiOwp9Owp2b2lkIHRyYW5zZm9ybShzdHJ1Y3QgUmVjdCAqcikgewogICAgaW50IHRtcGx0eCwgdG1wbHR5LCB0bXByYngsIHRtcHJieTsKICAgIHRtcGx0eCA9IC0oKnIpLnJiLng7CiAgICB0bXBsdHkgPSAtKCpyKS5yYi55OwogICAgdG1wcmJ4ID0gLSgqcikubHQueDsKICAgIHRtcHJieSA9IC0gKCpyKS5sdC55OwogICAgKCpyKS5yYi54ID0gdG1wcmJ4OwogICAgKCpyKS5yYi55ID0gdG1wcmJ5OwogICAgKCpyKS5sdC54ID0gdG1wbHR4OwogICAgKCpyKS5sdC55ID0gdG1wbHR5OwogICAgcmV0dXJuOwp9CgppbnQgbWFpbiAoKSB7CiAgICBzdHJ1Y3QgUmVjdCByZWN0ID0geyB7MiwgNH0sIHs3LDF9IH07CiAgICB0cmFuc2Zvcm0oJnJlY3QpOwogICAgcHJpbnRmKCIlZCAlZCAlZCAlZFxuIiwgcmVjdC5sdC54LCByZWN0Lmx0LnksIHJlY3QucmIueCwgcmVjdC5yYi55KTsKICAgIHJldHVybiAwOwp9