Duži način rešavanja: 


#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
int broj1[100]={0};

int broj2[100]={0};

int N;

cin >> N;

for (int i = 100 - N; i < 100; i++)
{
cin >> broj1[i];
}

cin >> N;

for (int i = 100 - N; i < 100; i++)
{
cin >> broj2[i];
}

int prenos = 0;

for (int i = 99; i >= 0; i--)
{
int zbir = broj1[i] + broj2[i] + prenos;

prenos = zbir / 10;

broj1[i] = zbir % 10;
}

bool pisi = false;

for (int i = 0; i < 100; i++)
{
if (broj1[i] != 0)
{
pisi = true;
}

if (pisi)
{
cout << broj1[i];
}
}
}

Izvor: petlja.org

Kraće rešenje:

(radimo naopačke)

#include <iostream>
using namespace std;
int main()
{
int N, M, i;
cin>>N;
int a[N];
for(i=N-1;i>=0;i--) cin>>a[i];

cin>>M;
int b[M];
for(i=M-1;i>=0;i--) cin>>b[i];

int p, d, zbir[100];

for(i=p=0;i<N || i<M; i++)
{
d=p;
if(i<N) d+=a[i];
if(i<M) d+=b[i];
p=d/10;
d=d%10;
zbir[i]=d;
}
if(p) zbir[i++]=p;

for(p=i-1;p>=0;p--) cout<<zbir[p];


return 0;
}

Last modified: Thursday, 16 October 2025, 3:37 PM