C++ Problem - Machula/ABSYS

poruka: 1
|
čitano: 615
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
C++ Problem - Machula/ABSYS

Input je samo prva linija:

machula +123=789
machula+machula=machula
-1989518726+1992205378=2686652
---------------------------------------------------------
Ako nema spaceova, radi kako treba, ali u zadatku pise sa space: http://www.spoj.pl/problems/ABSYS/
(znam da treba i output napisat sa spaceovima)
---------------------------------------------------------
Source code:
#include <iostream>
#include <string>
#include <sstream>
#include<iomanip>
#include<algorithm>
using namespace std;
string remSpaces(string sIn)
{
   beginning:
   for(int i = 0; i < sIn.length(); i++)
   {
     if (sIn[i] == ' ')
     {
       sIn.erase(i, 1);
       goto beginning;
     }
   }
   return sIn;
}
int main()
{
   string sIn = "";
   cin >> sIn;
   string p1, p2, p3,p4;
   int r1,r2,r3;
   size_t pos;
   p4 = sIn.substr( sIn.find('+')+1, sIn.find('=') );
   p1 = sIn.substr( 0, sIn.find('+') );
   p2 = p4.substr( 0, p4.find('=') );
   p3 = p4.substr(p4.find('=') + 1);
   p1 = remSpaces(p1);
   p2 = remSpaces(p2);
   p3 = remSpaces(p3);
   if (p1.find("machula") != string::npos)
   {
   stringstream ss2(p2);
   stringstream ss3(p3);
   ss2 >> r2;
   ss3 >> r3;
   r1 = r3-r2;
   }
   if (p2.find("machula") != string::npos)
   {
   stringstream ss1(p1);
   stringstream ss3(p3);
   ss1 >> r1;
   ss3 >> r3;
   r2 = r3-r1;
   }
   if (p3.find("m") != string::npos)
   {
   stringstream ss1(p1);
   stringstream ss2(p2);
   ss1 >> r1;
   ss2 >> r2;
   r3 = r1+r2;
   }
   cout << p1 << '+' << p2 << '=' << p3 << endl;
   cout << r1 << '+' << r2 << '=' << r3 << endl;
}
Hvala unaprijed.

 

One child dies every five seconds. Dirty water KILLS 6000 children per day. 45.000 people die in the US annually because they don't have health care. US spent $18 BILLION a WEEK on Iraq.
Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice