Обучител по събиране на числа

Да се напише програма, която позволява да се въведат две цели числа (до 4 цифрени) и да демонстрира събиране между тях, като изведа числата и резултата едно под друго, подравнени вдясно. Над първото число да се поставят единици над разрядите, при които ще имаме пренасяне на единица от по-младшия разряд (т.е. когато ще имаме „и едно наум“).  Например:

   111
    9874
 +   361
 = 10235

По желание: Да се направи същото за 3 числа.

Публикувано в 11а, 11в с етикети . Постоянна връзка.

3 коментара по Обучител по събиране на числа

  1. Gadget каза:
     
    #include <iomanip.h>
    int x,x1,x2,x3,x4,y,y1,y2,y3,y4,z,z1,z2,z3,z4,t,p,n,m;
        cout<<"Vavedete tri tzeli chisla(max 4-tzifreni):"<<endl;
        cin>>x>>y>>z;
       //Razdelqme chislata na tzifri 
        x4=x/1000;
        x3=(x/100)%10;
        x2=(x/10)%10;
        x1=x%10;
        
        y4=y/1000;
        y3=(y/100)%10;
        y2=(y/10)%10;
        y1=y%10;
        
        z4=z/1000;
        z3=(z/100)%10;
        z2=(z/10)%10;
        z1=z%10;
        //Proverka dali e nujno dopulnitelno subirane
         if(x1+y1+z1>=10){
           t=(x1+y1+z1)/10;
           x2++;
        }
        
         if(x2+y2+z2>=10){
            p=(x2+y2+z2)/10;
            x3++;
        }
        
        if(x3+y3+z3>=10){
            n=(x3+y3+z3)/10;
            x4++;
        }
        
        if(x4+y4+z4>=10){
           m=(x4+y4+z4)/10;
        }
        cout<<endl;
        //Otpechatvame dopulnitelnite subiraniq
        cout<<setw(2)<<m<<n<<p<<t<<endl;
              
        cout<<setw(6)<<x<<endl;
        cout<<"+"<<setw(5)<<y<<endl;
        cout<<"+"<<setw(5)<<z<<endl;
        cout<<"="<<setw(5)<<x+y+z<<endl;
        
        system("PAUSE");
        return 0;
    

    Reshenie za tri chisla

  2. Gadget каза:
    #include <iomanip.h>
    int x,x1,x2,x3,x4,y,y1,y2,y3,y4,z,z1,z2,z3,z4,t,p,n,m;
        cout<<"Vavedete tri tzeli chisla(max 4-tzifreni):"<<endl;
        cin>>x>>y>>z;
       //Razdelqme chislata na tzifri 
        x4=x/1000;
        x3=(x/100)%10;
        x2=(x/10)%10;
        x1=x%10;
        
        y4=y/1000;
        y3=(y/100)%10;
        y2=(y/10)%10;
        y1=y%10;
        
        z4=z/1000;
        z3=(z/100)%10;
        z2=(z/10)%10;
        z1=z%10;
        //Zadavame purvonachalni stoinosti
        t=0;
        p=0;
        n=0;
        m=0;
        //Proverka dali e nujno dopulnitelno subirane
         if(x1+y1+z1>=10){
           t=(x1+y1+z1)/10;
           x2++;
        }
        
         if(x2+y2+z2>=10){
            p=(x2+y2+z2)/10;
            x3++;
        }
        
        if(x3+y3+z3>=10){
            n=(x3+y3+z3)/10;
            x4++;
        }
        
        if(x4+y4+z4>=10){
           m=(x4+y4+z4)/10;
        }
        cout<<endl;
        //Otpechatvame dopulnitelnite subiraniq
        cout<<setw(3);
        if(m>0)
         cout<<m;
         else
         cout<<" ";
        if(n>0)
         cout<<n;
         else
         cout<<" ";
        if(p>0)
         cout<<p;
         else
         cout<<" ";
        if(t>0)
         cout<<t;
         else
         cout<<" ";
        cout<<endl;
              
        cout<<setw(6)<<x<<endl;
        cout<<"+"<<setw(5)<<y<<endl;
        cout<<"+"<<setw(5)<<z<<endl;
        cout<<"="<<setw(5)<<x+y+z<<endl;
        
        system("PAUSE");
        return 0;
    

    Ako moje iztriite predishnoto mi reshenie che zabravih da dobavq intervalite :)

Вашият коментар