Informatică, întrebare adresată de AntoMCR, 9 ani în urmă

URGENTTTTT!!!! Se citește un număr natural n. Acest număr se “împarte” în alte două numere a și b, astfel: a este format din cifrele din prima jumătate a lui n, b este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc se ignoră. De exemplu, dacă n=9183792, atunci a=918, iar b=792. Să se determine valoarea absolută a diferenței dintre a și b.
Eu am facut rezolvarea asta :
#include
#include

using namespace std;

int n,a,b,ca,cb,p,k,d;
int main()
{
cin>>n;
a=0;
b=0;
p=1;
k=100000;
while (n>9)
{
ca=n%10;
cb=n/10;
if (a==0)
a=a+ca;
else
a=a+ca*p;
if (b==0)
b=b+cb;
else
b=b+cb*10;
p=p*10;
n=(n/10)%k;
k=k/100;
}
d=abs(a-b);
cout< return 0;
}
Ce e gresit?

Răspunsuri la întrebare

Răspuns de milumil2000
5
#include <iostream>
#include <math.h>

using namespace std;

int n,a,b,ca,cb,tc,p,k,d;
int main(){
    cin>>n;
    tc=1;
    k=n;
    while (k>9){
        k=k/10;
        tc++;
        };
    ca=(tc+1)/2;
    cb=tc/2;
    k=pow(10,ca);
    p=pow(10,cb);
    a=n/k;
    b=n%p;
    d=a-b;
    if(d<0)d=-d;
    cout<<d<<endl;
}
Alte întrebări interesante