Answer to Question #74774 in C for jw
2018-03-18T07:05:05-04:00
A point represents a coordinate in an x-y plane. It is supported by the following functions:
Point * make_point(double x, double y)
double x_of(Point *p)
double y_of(Point *p)
void print_point(Point *p)
Write a function Point * mid_point that accepts two points as arguments and returns a point that is the mid-point of these two input coordinates.
1
2018-03-19T08:54:06-0400
#include <stdio.h> #include <stdlib.h> typedef struct point_t { double x; double y; }Point; Point * make_point(double x, double y) { Point* p = malloc(sizeof(Point)); p->x = x; p->y = y; } double x_of(Point *p) { return p->x; } double y_of(Point *p) { return p->y; } void print_point(Point *p) { printf("Point %lf - %lf", p->x, p->y); } Point* mid_point(Point* p1, Point* p2) { return make_point((p1->x + p2->x)/2, (p1->y + p2->y)/2); } int main() { Point* p1 = make_point(3,3); Point* p2 = make_point(7,7); Point* mid = mid_point(p1, p2); print_point(mid); free(p1); free(p2); free(mid); }
Need a fast expert's response?
Submit order
and get a quick answer at the best price
for any assignment or question with DETAILED EXPLANATIONS !
Learn more about our help with Assignments:
C
Comments
the input expression will be : mid_point(make_point(1.0, 1.0), make_point(3.0, 3.0))
Leave a comment