Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int CharToNumber(char toChange)
  6. {
  7.     return toChange-'0';
  8. }
  9.  
  10. void wyrownajDoJeden(int *tab, int i)
  11. {
  12.     int jednosc = tab[i]%10;
  13.     int reszta = tab[i]/10;
  14.     tab[i] = jednosc;
  15.     tab[i+1] += reszta;
  16. }
  17.  
  18.  
  19. int main()
  20. {
  21.     string num1;
  22.     string num2;
  23.     //cout << "Podaj pierwsza liczbe max 100-cyfrowa: ";
  24.     //cin >> num1;
  25.     num1 = "728";
  26.     //cout << "Podaj druga liczbe max 100-cyfrowa: ";
  27.     //cin >> num2;
  28.     num2 = "863";
  29.     //cout<<num1.size()<<endl;
  30.     //cout<<num2.size()<<endl;
  31.     int tab1[num1.size()];
  32.     int tab2[num2.size()];
  33.     int num1Wielkosc = num1.size();
  34.     for (int i=0; i<num1Wielkosc; i++)
  35.     {
  36.         tab1[i]=CharToNumber(num1[num1Wielkosc-i-1]);
  37.         //cout<<tab1[i]<<endl;
  38.     }
  39.     int num2Wielkosc = num2.size();
  40.     for (int i=0; i<num2Wielkosc; i++)
  41.     {
  42.         tab2[i]=CharToNumber(num2[num2Wielkosc-i-1]);
  43.         ///cout<<tab1[i]<<endl;
  44.     }
  45.     int num3Wielkosc = num1.size()+num2.size();
  46.     int tab3[num3Wielkosc];
  47.     int k = 0;
  48.     for(int i = 0; i<num3Wielkosc; i++) tab3[i] = 0;
  49.     i = 0;
  50.     for(int i = 0; i<num1Wielkosc; i++)
  51.     {
  52.         for(int j = 0; j<num2Wielkosc; j++)
  53.         {
  54.             tab3[j+k] += tab1[i] * tab2[j];
  55.             //cout<<"- "<<tab1[i] <<" * "<< tab2[j]<<endl;
  56.             //cout<<"tab["<<j+k<<"] = "<<tab3[j+k]<<endl;
  57.         }
  58.         k+=1;
  59.         //cout<<"------"<<endl;
  60.     }
  61.     for(int i = 0; i<num3Wielkosc-1; i++)
  62.     {
  63.         wyrownajDoJeden(tab3, i);
  64.     }
  65.     string nowaLiczba = "";
  66.     int bylaJuzJakasLiczba = 0;
  67.     for(int i = 0; i<=num3Wielkosc; i++)
  68.     {
  69.         if((tab3[num3Wielkosc-i]+'0' > '0' && tab3[num3Wielkosc-i]+'0' <= '9') || bylaJuzJakasLiczba )
  70.         {
  71.             //cout<<tab3[num3Wielkosc-i]+'0'<<" ";
  72.             nowaLiczba += tab3[num3Wielkosc-i]+'0';
  73.             bylaJuzJakasLiczba = 1;
  74.         }
  75.     }
  76.     cout<<nowaLiczba;
  77.    
  78.  
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement