Advertisement
Nastya974

Untitled

Oct 17th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.84 KB | None | 0 0
  1. /*                              Лабораторная работа №2
  2.                        Выполнила Пена Анастасия, группа БПМ 191
  3. */
  4. #include <stdio.h>
  5. #include <math.h>
  6. #include <stdlib.h>
  7.  
  8. int func(float x, float y) { //Функция проверки принадлежности точки закрашенной области,возвращает 1 или 0
  9.     return ((y>=((x/3)-(float)1/(float)3)) && ((x>=0 && x<=1 && y<=0) || (y<=(-x) && y<=((2*x)+3))));
  10. }
  11.  
  12. int main() {
  13.     float x,y;
  14.      printf("Введите последовательно 2 числа, разделяя их переходом на новую строку: \nОба числа - вещественные (в качестве разделителя используйте точку)\nВ случае некорректного ввода программа будет автоматически закрыта.\nВведите координаты: \n");
  15.     if (scanf("%f",&x)==0 || scanf("%f",&y)==0){               //проверка вводимых данных через функцию scanf()
  16.         printf("Ошибка ввода! Закрытие программы. ");
  17.         exit(0);
  18.     }
  19.                     // Способ №1: проверка через множество простых условий    
  20.     if (x>=0) {
  21.         if (x<=1 && y<=0 && y>=((x/3)-(float)1/(float)3)) {
  22.             printf("\nПроверка №1:\nТочка принадлежит области");
  23.         }
  24.         else {
  25.             printf("\nПроверка №1:\nТочка не принадлежит области");
  26.         }
  27.     }
  28.     else {
  29.         if (y<=(-x) && y<=(2*x+3) && y>=((x/3)-(float)1/(float)3)) {
  30.               printf("\nПроверка №1:\nТочка принадлежит области");
  31.         }
  32.         else {
  33.             printf("\nПроверка №1:\nТочка не принадлежит области");
  34.         }
  35.         }
  36.                 //Способ №2: проверка через единственное сложное условие
  37.     if ((y>=((x/3)-(float)1/(float)3)) && ((x>=0 && x<=1 && y<=0) || (y<=(-x) && y<=((2*x)+3)))) {
  38.         printf("\nПроверка №2:\nТочка принадлежит области");
  39.     }
  40.     else {
  41.         printf("\nПроверка №2:\nТочка не принадлежит области");
  42.     }
  43.                 //Способ №3: проверка через функцию, внуттри которой отсутствует условный оператор
  44.     if (func(x,y)==1) {
  45.         printf("\nПроверка №3:\nТочка принадлежит области");
  46.     }
  47.     else {
  48.         printf("\nПроверка №3:\nТочка не принадлежит области");
  49.     }
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement