Pagini recente » Cod sursa (job #3281194) | Cod sursa (job #885165) | Cod sursa (job #2323929) | Cod sursa (job #34587) | Cod sursa (job #1061351)
#include<fstream>
#include<stdio.h>
using namespace std;
int T, x, s[17], v [9], n, i, j, maxim;
int maxim2(int x1, int y){
if(x1>y)
return x1;
else
return y;
}
FILE*fin=fopen("operatii.in","r");
ofstream fout("operatii.out");
int main(){
fscanf(fin,"%d", &n);
for(j=1; j<=n; j++){
fscanf(fin,"%d", &x);
if(x!=0){
if(x>maxim)
maxim=x;
}
else{
for(i=1; i<=v[0]; i++)
v[i]=0;
v[0]=0;
while(maxim!=0){
v[++v[0]]=maxim%10;
maxim/=10;
}
if(v[0]>s[0])
s[0]=v[0];
for(i=1; i<=maxim2(v[0], s[0]); i++){
s[i]=(T+s[i]+v[i])%10;
T=(T+s[i]+v[i])/10;
}
if(T!=0){
s[++s[0]]=T;
T=0;
}
}
}
if(maxim!=0){
for(i=1; i<=v[0]; i++)
v[i]=0;
v[0]=0;
while(maxim!=0){
v[++v[0]]=maxim%10;
maxim/=10;
}
if(v[0]>s[0])
s[0]=v[0];
for(i=1; i<=maxim2(v[0], s[0]); i++){
s[i]=(T+s[i]+v[i])%10;
T=(T+s[i]+v[i])/10;
}
if(T!=0){
s[++s[0]]=T;
T=0;
}
}
for(i=s[0]; i>=1; i--)
fout<<s[i];
return 0;
}