Qellex

4.1

Dec 20th, 2020 (edited)
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.22 KB | None | 0 0
  1. #include "stdio.h"
  2. #include "locale.h"
  3. #include "math.h"
  4.  
  5. // нахождения обьединение интервалов
  6. int uniteIntervals(int a, int b, int c, int d, int* e, int* f) {
  7.     // идет проверка на то как находятся концы интервалов относительно друг друга
  8.     if ((c <= b) && (a <= c )) {
  9.         *e = a;
  10.         if (d <= b) {
  11.             *f = b;
  12.             return 1;
  13.         }
  14.         *f = d;
  15.         return 1;
  16.     }
  17.     else if ((a <= d) && (c <= a)) {
  18.         *e = c;
  19.         if (b <= d) {
  20.             *f = d;
  21.             return 1;
  22.         }
  23.         *f = b;
  24.         return 1;
  25.     }
  26.     else
  27.         return 0;
  28. }
  29.  
  30.  
  31. void main() {
  32.  
  33.     setlocale(LC_ALL, "rus");
  34.  
  35.     int a, b, c, d, e, f;
  36.     do {
  37.         printf("\nВведите интервал [a,b] и [c,d]: ");
  38.         scanf_s("%d%d%d%d", &a, &b, &c, &d);
  39.         if ((a > b) || (d < c))
  40.             printf("Не верно задан интервал, повторите ввод.");
  41.     } while ((a > b) || (d < c));
  42.  
  43.     if (uniteIntervals(a, b, c, d, &e, &f))
  44.         printf("Обьединение интервалов = [%d,%d]", e, f);
  45.     else
  46.         printf("Обьединения нет.");  
  47.  
  48.     do {
  49.         printf("\nВведите интервал [a,b] и [c,d]: ");
  50.         scanf_s("%d%d%d%d", &a, &b, &c, &d);
  51.         if ((a > b) || (d < c))
  52.             printf("Не верно задан интервал, повторите ввод.");
  53.     } while ((a > b) || (d < c));
  54.  
  55.     if (uniteIntervals(a, b, c, d, &e, &f))
  56.         printf("Обьединение интервалов = [%d,%d]", e, f);
  57.         else
  58.         printf("Обьединения нет.");    
  59.  
  60.     do {
  61.         printf("\nВведите интервал [a,b] и [c,d]: ");
  62.         scanf_s("%d%d%d%d", &a, &b, &c, &d);
  63.         if ((a > b) || (d < c))
  64.             printf("Не верно задан интервал, повторите ввод.");
  65.     } while ((a > b) || (d < c));
  66.  
  67.     if (uniteIntervals(a, b, c, d, &e, &f))
  68.         printf("Обьединение интервалов = [%d,%d]", e, f);
  69.         else
  70.         printf("Обьединения нет.");
  71.  
  72. }
  73.  
Add Comment
Please, Sign In to add comment