Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int * getRectangle();
- int * getCircles();
- int showInput(int r, int c);
- int checkCircles(int r, int c);
- int main()
- {
- int input = 0;;
- float *circle;
- float *rectangle;
- while(input != 5){
- printf("\nMenu");
- printf("\n-1- Enter circles");
- printf("\n-2- Enter rectangle");
- printf("\n-3- Show input values");
- printf("\n-4- Check if circles are in rectangle");
- printf("\n-5- Exit");
- printf("\nChoose an option between 1-5\n");
- scanf("%d", &input);
- switch(input){
- case 1: circle = getCircles();break;
- case 2: rectangle = getRectangle();break;
- case 3: showInput(rectangle,circle);break;
- case 4: checkCircles(rectangle,circle);break;
- case 5: printf("\n\nBye bye");break;
- }
- }
- }
- int showInput(int r,int c){
- float *circle;
- circle = c;
- float *rectangle;
- rectangle = r;
- printf("\nRectangle:");
- printf(" x1: %.6g;", *(rectangle));
- printf(" y1: %.6g;", *(rectangle + 1));
- printf(" x2: %.6g;", *(rectangle + 2));
- printf(" y2: %.6g;", *(rectangle + 3));
- printf("\n");
- float count = *circle;
- int i,id = 1;
- for(i = 0; i < count; i+= 3,id++){
- printf("\nCircle #%d",id);
- printf(" r: %.6g;", *(circle + i + 1));
- printf(" x: %.6g;", *(circle + i+ 2));
- printf(" y: %.6g;", *(circle + i + 3));
- printf("\n");
- }
- }
- int checkCircles(int r, int c){
- float *circle;
- circle = c;
- float *rectangle;
- rectangle = r;
- float count = *circle;
- int i,id = 1;
- for(i = 1; i < (int)count; i+= 3,id++){
- printf("\nCircle #%d is ",id);
- float cLeft = (*(circle + i + 1)- *(circle + i));
- float cRight = (*(circle + i + 1) + *(circle + i));
- float cUp = (*(circle + i + 2) + *(circle + i));
- float cDown = (*(circle + i + 2) - *(circle + i));
- if( *(rectangle) <= cLeft && *(rectangle + 2) >= cRight &&
- *(rectangle +1) <= cDown && *(rectangle + 3) >= cUp){
- printf("inside");
- } else {
- printf("outside");
- }
- printf("\n");
- }
- }
- int * getRectangle() {
- float rx1 = 0,rx2 = 0,ry1 = 0,ry2 = 0;
- printf("\nEnter x1:");
- scanf("%f", &rx1);
- printf("\nEnter y1:");
- scanf("%f", &ry1);
- printf("\nEnter x2:");
- scanf("%f", &rx2);
- printf("\nEnter y2:");
- scanf("%f", &ry2);
- static float rectangle[4];
- rectangle[0] = rx1;
- rectangle[1] = ry1;
- rectangle[2] = rx2;
- rectangle[3] = ry2;
- return rectangle;
- }
- int * getCircles(){
- float r = 0,x = 0, y = 0;
- int i,num = 0;
- static float circles[214];
- printf("\nEnter number(1- 72) of circles:");
- //scanf("%d",&num);
- while(1){
- scanf("%d",&num);
- if(num > 0 && num < 73){
- break;
- }
- printf("Number must be between 1 - 72");
- }
- num *= 3;
- circles[0] = num;
- for(i = 1;i <= num; i+=3){
- printf("\nEnter r:");
- scanf("%f", &r);
- while(r < 0){
- printf("\nr must be positive number:");
- scanf("%f", &r);
- }
- printf("\nEnter x:");
- scanf("%f", &x);
- printf("\nEnter y:");
- scanf("%f", &y);
- circles[i] = r;
- circles[i + 1] = x;
- circles[i + 2] = y;
- }
- return circles;
- }
Advertisement
Add Comment
Please, Sign In to add comment