PROIZVOD DVA BROJA

Novi kod. Proizvod dva broja 🙂
radi samo sa cijelim brojevima. Malo popravljeno

#include<iostream>
#include<string.h>
#include<iomanip>
#include<math.h>
using namespace std;

int main (int argc, char **argv)
{
    char br1[20],br2[20],proizvod[40],mProizvod[21],t;
    int i,j,k,l,n1,n2,m,n;
    int Proizvod,prenos,zbir,br,zprenos=0;
    bool vn = true, negativan1 = false, negativan2 = false;
    cout<<" unesite dva broja : n";
    cin>>br1>>br2;
    
    n1 = strlen(br1);
    n2 = strlen(br2);
    
    
    
    for (i = 0; i < n1/2; i++)            
    {                                  
        t           = br1[i];           
        br1[i]      = br1[n1-i-1];      
        br1[n1-i-1] = t;            
    }
    
    for (i = 0; i < n2/2; i++)           
    {                                  
        t           = br2[i];            
        br2[i]      = br2[n2-i-1];      
        br2[n2-i-1] = t;          
    }
     // brojevi su obrnuti 🙂
    if (br1[n1-1] == ‘-‘)
    {
                  negativan1 = true;
                  br1[n1-1] = ‘’;
    }
    if (br2[n2-1] == ‘-‘)
    {
                  negativan2 = true;
                  br2[n2-1] = ‘’;
    }
    n1 = strlen(br1);
    n2 = strlen(br2);
                                                     
    for (i = 0; i < 40; i++) { proizvod[i] = ‘0’;  } 

    for (i = 0; i < n1; i++)
    
    {
        zprenos=0;
        prenos = 0;
        for (j = 0; j < n2; j++) mProizvod[j] = ‘0’;
        
        for (j = 0; j < n2; j++)
        {
            
            Proizvod     = int(br1[i] – 48) * int(br2[j] – 48);
            prenos       = Proizvod / 10;
            br           = Proizvod % 10;
            if (mProizvod[j])
            {
                         mProizvod[j] += char(br);
            }                              
            else
            {
                         mProizvod[j] += char(br) + 48;
            }                     
            if (prenos)
            {
                         mProizvod[j+1] = char(prenos + 48);
            }        
            else
            {
                         mProizvod[j+1 ]= ‘’;
            }
            
            mProizvod[j+2] = ‘’;
            
        }
     
        k = strlen(mProizvod);
        for (l = 0; l < k; l++)
        {
            br                 =  int(proizvod[l+i] – 48) + int(mProizvod[l] – 48);
            proizvod[l+i]      =  char(br%10 + 48);
            proizvod[l+i+1]    += br/10;
        }
     
     }
     
     proizvod[n1+n2] = ‘’;
     
     cout<<endl;
     
     int g = strlen(proizvod) – 1;
     while (vn)
     {
           if (proizvod[g] == ‘0’)
           {
                           vn = true;
                           proizvod[g] = ‘’;
           }
           else
           {
                vn = false;
           }
           g–;
     }
     
     if(negativan1 != negativan2)
     {
                     cout<<"-";
     }
                     
        
     for (g = strlen(proizvod)-1; g >= 0; g–)
     {
         cout<<proizvod[g];
     }
    
     cin.get();
     cin.get();
     return 0;
}

1 komentar

Komentariši