Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include<math.h>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     unsigned char znak;
  9.     string x, y;
  10.     int wyznacznikAx, wyznacznikAy, wyznacznikBx, wyznacznikBy, ReX, ReY, ImX, ImY;
  11.     int k=0;
  12.     int h=0;
  13.     int a=0;
  14.     wyznacznikAx=0;
  15.     wyznacznikAy=0;
  16.     while(cin >> znak)
  17.     {
  18.     switch(znak)
  19.     {
  20.         case 'x':
  21.         {
  22.         ReX=0;
  23.         ImX=0;
  24.         cin>>x;
  25.         for (int i=0; i<x.length(); i++)
  26.         {
  27.             if(x[i]=='+')
  28.             {
  29.                 wyznacznikAx=i;
  30.             }
  31.             if (x[i]=='i')
  32.             {
  33.                 wyznacznikAy=i;
  34.             }
  35.  
  36.         }
  37.         if(x[wyznacznikAy+1]=='-')
  38.         {
  39.             wyznacznikAy=wyznacznikAy+1;
  40.             h=1;
  41.         }
  42.         for (int i=0; i<wyznacznikAx; i++)
  43.         {
  44.             a=x[i]-48;
  45.             ReX+=a*pow(10,wyznacznikAx-1-i);
  46.  
  47.         }
  48.  
  49.         for (int i=wyznacznikAy+1; i<x.length(); i++)
  50.         {
  51.             a=x[i]-48;
  52.             ImX+=a*pow(10,(x.length()-1-i));
  53.  
  54.         }
  55.         if (h==1)
  56.         {
  57.             ImX=ImX*(-1);
  58.         }
  59.         break;
  60.     }
  61.     case 'y':
  62.         {
  63.             ReY=0;
  64.             ImY=0;
  65.             cin >> y;
  66.             for (int i=0; i<y.length(); i++)
  67.             {
  68.                 if(y[i]=='+')
  69.                 {
  70.                     wyznacznikBx=i;
  71.                 }
  72.                 if (y[i]=='i')
  73.                 {
  74.                     wyznacznikBy=i;
  75.                 }
  76.             }
  77.         if(y[wyznacznikBy+1]=='-')
  78.         {
  79.             wyznacznikBy=wyznacznikBy+1;
  80.             k=1;
  81.         }
  82.         for (int i=0; i<wyznacznikBx; i++)
  83.         {
  84.             a=y[i]-48;
  85.             ReY+=a*pow(10,wyznacznikBx-1-i);
  86.  
  87.         }
  88.  
  89.         for (int i=wyznacznikBy+1; i<y.length(); i++)
  90.         {
  91.             a=y[i]-48;
  92.             ImY+=a*pow(10,(y.length()-1-i));
  93.         }
  94.         if (k==1)
  95.         {
  96.             ImY=ImY*(-1);
  97.         }
  98.         break;
  99.         }
  100.          case '+': {
  101.             cout << ReX + ReY << "+i" << ImX + ImY << endl;
  102.  
  103.             break;
  104.          }
  105.         case '-': {
  106.             cout << ReX - ReY << "+i" << ImX - ImY << endl;
  107.  
  108.             break;
  109.         }
  110.         case '*':
  111.             {
  112.             cout << ReX * ReY - ImX * ImY << "+i" << ReX * ImY + ImX * ReY << endl;
  113.  
  114.             break;
  115.             }
  116.     }
  117.     }
  118.     return 0;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement