-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathABSYS.cpp
56 lines (50 loc) · 1.31 KB
/
ABSYS.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include<iostream>
#include<sstream>
using namespace std;
string trim(string& str)
{
size_t first = str.find_first_not_of(' ');
size_t last = str.find_last_not_of(' ');
return str.substr(first, (last-first+1));
}
int main()
{
int n,i=0,intnum1=0,intnum2=0,intnum3=0;
cin>>n;
string data,num1,num2,num3;
getline(cin,data);
getline(cin,data);
while(n--)
{
getline(cin,data);
int pos = data.find("machula");
int posPlus = data.find("+");
int posEqual = data.find("=");
if(posPlus<pos && posEqual<pos)
{
num1=data.substr(0,posPlus-1);
num2=data.substr(posPlus+1,posEqual-(posPlus+1));
std::istringstream(num1) >> intnum1;
std::istringstream(num2) >> intnum2;
cout<<intnum1<<" + "<<intnum2<<" = "<<intnum1+intnum2<<"\n";
}
if(posPlus<pos && posEqual>pos)
{
num1=data.substr(0,posPlus-1);
num3=data.substr(posEqual+1);
std::istringstream(num1) >> intnum1;
std::istringstream(num3) >> intnum3;
cout<<intnum1<<" + "<<(intnum3-intnum1)<<" = "<<intnum3<<"\n";
}
if(posPlus>pos && posEqual>pos)
{
num2=data.substr(posPlus+1,posEqual-(posPlus+1));
num3=data.substr(posEqual+1);
std::istringstream(num2) >> intnum2;
std::istringstream(num3) >> intnum3;
cout<<(intnum3-intnum2)<<" + "<<intnum2<<" = "<<intnum3<<"\n";
}
getline(cin,data);
}
return 0;
}