Pagini recente » Cod sursa (job #685612) | Cod sursa (job #1300656) | Cod sursa (job #358701) | Cod sursa (job #2493207) | Cod sursa (job #358582)
Cod sursa(job #358582)
#include <string>
#include <sstream>
#include <fstream>
#include <cstdlib>
#include <iterator>
/*
*
*/
using namespace std;
ifstream in;
ofstream out;
typedef string::const_reverse_iterator iter;
string accumulation( iter it, iter it2 , iter iend, iter iend2 )
{
ostringstream s;
int sum, t=0;
while( it < iend && it2 < iend2 )
{
sum=*it-'0'+*it2-'0'+t;
if( sum > 9 )
t=sum/10, sum%=10;
else t=0;
s<<sum;
++it; ++it2;
}
while( it < iend )
{
sum=*it-'0'+t;
if( sum > 9 )
t=sum/10, sum%=10;
else t=0;
s<<sum;
++it;
}
if( t )
s.put( t+'0' ), t=0;
while( it2 < iend2 )
{
sum=*it2-'0'+t;
if( sum > 9 )
t=sum/10, sum%=10;
else t=0;
s<<sum;
++it2;
}
if( t )
s<<t, t=0;
return s.str();
}
int main()
{string a,b,s;
in.open("adunare.in");
in>>a>>b;
out.open("adunare.out");
s=accumulation( a.rbegin(), b.rbegin(), a.rend(), b.rend() );
copy( s.rbegin(), s.rend(), ostream_iterator<char>( out ) );
return EXIT_SUCCESS;
}