Advertisement
dxvmxnd

Untitled

Sep 21st, 2023 (edited)
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <typeinfo>
  3. #include <cmath>
  4. using namespace std;
  5. int main() {
  6.     setlocale(LC_ALL, "Rus");
  7.     bool isNotCorrect = false;
  8.     int multiFirst, multiSecond, c ,aFirst, bFirst, numFirst, numSecond, denomFirst, denomSecond;
  9.    
  10.     do {
  11.         cout << "Введите числитель 1 дроби\n";
  12.         cin >> numFirst;
  13.         if (cin.fail()) {
  14.             isNotCorrect = true;
  15.             cout << "Данные ввеены неккоректно" << endl << endl;
  16.             cin.clear();
  17.             while (cin.get() != '\n');
  18.         }
  19.         else {
  20.             isNotCorrect = false;
  21.         }
  22.     } while (isNotCorrect);
  23.    
  24.     do {
  25.         cout << "Введите числитель 2 дроби\n";
  26.         cin >> numSecond;
  27.         if (cin.fail()) {
  28.             isNotCorrect = true;
  29.             cout << "Данные ввеены неккоректно" << endl << endl;
  30.             cin.clear();
  31.             while (cin.get() != '\n');
  32.         }
  33.         else {
  34.             isNotCorrect = false;
  35.         }
  36.     } while (isNotCorrect);
  37.    
  38.     do {
  39.         cout << "Введите знаменатель 1 дроби\n";
  40.         cin >> denomFirst;
  41.         if (cin.fail()) {
  42.             isNotCorrect = true;
  43.             cout << "Данные ввеены неккоректно" << endl << endl;
  44.             cin.clear();
  45.             while (cin.get() != '\n');
  46.         }
  47.         else {
  48.             isNotCorrect = false;
  49.         }
  50.     } while (isNotCorrect);
  51.    
  52.     do {
  53.         cout << "Введите знаменатель 2 дроби\n";
  54.         cin >> denomSecond;
  55.         if (cin.fail()) {
  56.             isNotCorrect = true;
  57.             cout << "Данные ввеены неккоректно" << endl << endl;
  58.             cin.clear();
  59.             while (cin.get() != '\n');
  60.         }
  61.         else {
  62.             isNotCorrect = false;
  63.         }
  64.     } while (isNotCorrect);
  65.  
  66.     multiFirst = numFirst * numSecond;
  67.     multiSecond = denomFirst * denomSecond;
  68.     if (multiSecond == 0) {
  69.         cout << "Нуль знаменатель!\n ";
  70.     }
  71.     if (multiFirst == 0) {
  72.         cout << multiFirst << "/" << multiSecond << "=0\n";
  73.     }
  74.  
  75.     aFirst = multiFirst;
  76.     bFirst = multiSecond;
  77.     if (multiSecond > multiFirst) {
  78.         c = multiFirst;
  79.         multiFirst = multiSecond;
  80.         multiSecond = c;
  81.     }
  82.     while (multiFirst % multiSecond != 0) {
  83.         c = multiSecond;
  84.         multiSecond = multiFirst % multiSecond;
  85.         multiFirst = c;
  86.     }
  87.     cout << aFirst << "/" << bFirst << "=" << aFirst / multiSecond;
  88.     if (bFirst / multiSecond != 1) {
  89.         cout << "/" << bFirst / multiSecond << endl;
  90.     }
  91.  
  92.     return 0;
  93.  
  94.  
  95. }
  96.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement