Cod sursa(job #879455)

Utilizator bratiefanutBratie Fanut bratiefanut Data 15 februarie 2013 14:11:37
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
ifstream f("adunare.in");
ofstream g("adunare.out");

char a[100],b[100],c[100]; int i,t,x,y,max1;

int minim(int x, int y)
{
	if(x<=y)
		return x;
	return y;
}

void adunare(char a[100], char b[100], char c[100])
{
	strrev(a); strrev(b); t=0;
	y=minim(strlen(a),strlen(b));
	for(i=0;i<=y-1;i++)
	{
		x=(a[i]-'0')+(b[i]-'0')+t;
		c[i]=x%10+'0';
		t=x/10;// cout<<t;
	}
	if(strlen(a)>y)
		for(i=y;i<=strlen(a)-1;i++)
			c[i]=a[i];
	if(strlen(b)>y)
		for(i=y;i<=strlen(b)-1;i++)
			c[i]=b[i];
	if(t)
	{
	c[y]=t+'0';
	y++; }
	//c[y]=NULL;
	
	strrev(a); strrev(b); strrev(c);
}

int main()
{
	f.getline(a,100);
	f.getline(b,100);
	
	adunare(a,b,c);
	
	//puts(a); puts(b); 
	g<<c;
return 0;}