Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int CharToNumber(char toChange)
- {
- return toChange-'0';
- }
- void wyrownajDoJeden(int *tab, int i)
- {
- int jednosc = tab[i]%10;
- int reszta = tab[i]/10;
- tab[i] = jednosc;
- tab[i+1] += reszta;
- }
- int main()
- {
- string num1;
- string num2;
- //cout << "Podaj pierwsza liczbe max 100-cyfrowa: ";
- //cin >> num1;
- num1 = "728";
- //cout << "Podaj druga liczbe max 100-cyfrowa: ";
- //cin >> num2;
- num2 = "863";
- //cout<<num1.size()<<endl;
- //cout<<num2.size()<<endl;
- int tab1[num1.size()];
- int tab2[num2.size()];
- int num1Wielkosc = num1.size();
- for (int i=0; i<num1Wielkosc; i++)
- {
- tab1[i]=CharToNumber(num1[num1Wielkosc-i-1]);
- //cout<<tab1[i]<<endl;
- }
- int num2Wielkosc = num2.size();
- for (int i=0; i<num2Wielkosc; i++)
- {
- tab2[i]=CharToNumber(num2[num2Wielkosc-i-1]);
- ///cout<<tab1[i]<<endl;
- }
- int num3Wielkosc = num1.size()+num2.size();
- int tab3[num3Wielkosc];
- int k = 0;
- for(int i = 0; i<num3Wielkosc; i++) tab3[i] = 0;
- i = 0;
- for(int i = 0; i<num1Wielkosc; i++)
- {
- for(int j = 0; j<num2Wielkosc; j++)
- {
- tab3[j+k] += tab1[i] * tab2[j];
- //cout<<"- "<<tab1[i] <<" * "<< tab2[j]<<endl;
- //cout<<"tab["<<j+k<<"] = "<<tab3[j+k]<<endl;
- }
- k+=1;
- //cout<<"------"<<endl;
- }
- for(int i = 0; i<num3Wielkosc-1; i++)
- {
- wyrownajDoJeden(tab3, i);
- }
- string nowaLiczba = "";
- int bylaJuzJakasLiczba = 0;
- for(int i = 0; i<=num3Wielkosc; i++)
- {
- if((tab3[num3Wielkosc-i]+'0' > '0' && tab3[num3Wielkosc-i]+'0' <= '9') || bylaJuzJakasLiczba )
- {
- //cout<<tab3[num3Wielkosc-i]+'0'<<" ";
- nowaLiczba += tab3[num3Wielkosc-i]+'0';
- bylaJuzJakasLiczba = 1;
- }
- }
- cout<<nowaLiczba;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement