Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h> //skirtas duomenu ivedimui ir isvedimui
- #include <string> //kad dirbti su teksto eilutemis
- #include <bitset> //skirtas skaiciuoti bitu kiekis dvejetaineje sistemoje
- #include <cmath> //matematikos biblioteka
- using namespace std;
- int main()
- {
- int sksis; //kintamasis, atsakingas uz pradine skaiciavimo sistema
- int sksis2; //kintamasis, atsakingas uz skaiciavimo sistema i kuria bus vykdomas pervedimas
- string prad; //pirminis skaicius
- long prad2;
- //Dialogo ekranas, skirtas pasirinkti skaiciavimo sistema
- cout << "Papildoma uzduotis 1" << endl;
- cout << "Sita programa vercia skaicius is vienos skaiciavimo sistemos i kita." << endl;
- cout << "Pasirinkite skaiciavimo sistema:" << endl;
- cout << "-Iveskite 1, jei norite pasirinkti Dvejetaine;" << endl;
- cout << "-Iveskite 2, jei norite pasirinkti Astuntaine;" << endl;
- cout << "-Iveskite 3, jei norite pasirinkti Desimtaine;" << endl;
- cout << "Pradine skaiciavimo sistema: ";
- cin >> sksis; //ivedam pirma kintam.
- if (sksis > 3 || sksis < 1) // Patikrinimas ar teisingai ivedami duomeniai
- {
- cout << endl;
- cout << "Error! Jusu duomeniai neteisingi!" << endl;
- return 0;
- }
- //kokia sistema mes pasirinkome
- if (sksis == 1) {
- cout << endl;
- cout << "Jus pasirinkot dvejetaine skaiciavimo sistema kaip pradine." << endl; //jeigu dvejetaine
- cout << endl;
- }
- if (sksis == 2) {
- cout << endl;
- cout << "Jus pasirinkot astuntaine skaiciavimo sistema kaip pradine." << endl; //jeigu astuntaine
- cout << endl;
- }
- if (sksis == 3) {
- cout << endl;
- cout << "Jus pasirinkot desimtaine skaiciavimo sistema kaip pradine." << endl; //jeigu desimtaine
- cout << endl;
- }
- //Antras dialogo ekranas, kur ivedam antra skaiciavimo sistema i kuria bus pervedimas
- cout << "Dabar pasirinkite skaiciavimo sistema i kuria bus vykdomas pervedimas." << endl;
- cout << "-Iveskite 1, jei norite pasirinkti Dvejetaine;" << endl;
- cout << "-Iveskite 2, jei norite pasirinkti Astuntaine;" << endl;
- cout << "-Iveskite 3, jei norite pasirinkti Desimtaine;" << endl;
- cout << "Pervedimo skaiciavimo sistema: ";
- cin >> sksis2; //ivedam antra kintam.
- if (sksis2 > 3 || sksis2 < 1) // Patikrinimas ar teisingai ivedami duomeniai
- {
- cout << endl;
- cout << "Error! Jusu duomeniai neteisingi!" << endl;
- return 0;
- }
- //kokia antra sistema mes pasirinkome
- if (sksis2 == 1) {
- cout << endl;
- cout << "Jus pasirinkot pervedimas i dvejetaine skaiciavimo sistema." << endl; //jeigu dvejetaine
- cout << endl;
- }
- if (sksis2 == 2) {
- cout << endl;
- cout << "Jus pasirinkot pervedimas i astuntaine skaiciavimo sistema." << endl; // jeigu astuntaine
- cout << endl;
- }
- if (sksis2 == 3) {
- cout << endl;
- cout << "Jus pasirinkot pervedimas i desimtaine skaiciavimo sistema." << endl; //jeigu desimtaine
- cout << endl;
- }
- cout << "Iveskit pradini skaiciu: ";
- if(sksis == 1)
- {
- cin >> prad; //ivedam pradini skaiciu jei pas mus dvejetaine pradine sistema
- }
- if(sksis > 1)
- {
- cin >> prad2; //jei bet kokia kita sistema
- }
- //PERVEDIMO TIPO NUSTATYMAS
- //Is Dvejetaine
- if (sksis == 1 && sksis2 == 1)
- {
- //Is dvejetaine i dvejetaine. Nepasikeite.
- cout << endl;
- cout << "Is Dvejetaine -> i Dvejetaine. Skaiciavimo sistema nepasikeite. Pradinis skaicius: " << prad << " . Rezultatas: " << prad << endl;
- }
- if (sksis == 1 && sksis2 == 2)
- {
- //is pradziu konvertuojam i desimtaine
- long rez_desimtaine;
- rez_desimtaine = bitset<32>(prad).to_ulong();
- int rem, i = 1, rez_astuntaine = 0;
- while (rez_desimtaine != 0)
- {
- rem = rez_desimtaine % 8;
- rez_desimtaine /= 8;
- rez_astuntaine += rem * i;
- i *= 10;
- }
- cout << endl;
- cout << "Is Dvejetaine -> i Astuntaine. Pradinis skaicius: " << prad << " . Rezultatas: " << rez_astuntaine << endl;
- }
- if (sksis == 1 && sksis2 == 3)
- {
- //konvertuojam i desimtaine
- long rez_desimtaine;
- rez_desimtaine = bitset<32>(prad).to_ulong();
- cout << endl;
- cout << "Is Dvejetaine -> i Desimtaine. Pradinis skaicius: " << prad << " . Rezultatas: " << rez_desimtaine << endl;
- }
- if (sksis == 1 && sksis2 == 4)
- {
- //is pradziu konvertuojam i desimtaine
- long rez_desimtaine;
- rez_desimtaine = bitset<32>(prad).to_ulong();
- int rem, i = 1, rez_sesioliktaine = 0;
- while (rez_desimtaine != 0)
- {
- rem = rez_desimtaine % 16;
- rez_desimtaine /= 16;
- rez_sesioliktaine += rem * i;
- i *= 10;
- }
- cout << endl;
- cout << "Is Dvejetaine -> i Sesioliktaine. Pradinis skaicius: " << prad << " . Rezultatas: " << rez_sesioliktaine << endl;
- }
- //Is Astuntaine
- if (sksis == 2 && sksis2 == 1)
- {
- //konvertuojam i dvejetaine
- int desimt = 0, i = 0;
- long long rez_dvejetaine = 0;
- while(prad2 != 0)
- {
- desimt += (prad2%10) * pow(8,i);
- ++i;
- prad2/=10;
- }
- i = 1;
- while (desimt != 0)
- {
- rez_dvejetaine += (desimt % 2) * i;
- desimt /= 2;
- i *= 10;
- }
- cout << endl;
- cout << "Is Astuntaine -> i Dvejetaine. Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_dvejetaine << endl;
- }
- if (sksis == 2 && sksis2 == 2) //Is astuntaine i astuntaine. Nepasikeite.
- {
- cout << "Is Astuntaine -> i Astuntaine. Skaiciavimo sistema nepasikeite. Pradinis skaicius: " << prad2 << " . Rezultatas: " << prad2 << endl;
- }
- if (sksis == 2 && sksis2 == 3)
- {
- //is astuntaine konvertuojam iskart i desimtaine
- int rez_desimtaine = 0, i = 0, rem;
- while (prad2 != 0)
- {
- rem = prad2 % 10;
- prad2 /= 10;
- rez_desimtaine += rem * pow(8, i);
- ++i;
- }
- cout << endl;
- cout << "Is Astuntaine -> i Desimtaine. Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_desimtaine << endl;
- }
- //Is Desimtaine
- if (sksis == 3 && sksis2 == 1)
- {
- //i dvejetaine is desimtaine
- long long rez_dvejetaine = 0;
- int remainder, i = 1, step = 1;
- while (prad2!=0)
- {
- remainder = prad2%2;
- prad2 /= 2;
- rez_dvejetaine += remainder*i;
- i *= 10;
- }
- cout << endl;
- cout << "Is Desimtaine -> i Dvejetaine.Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_dvejetaine << endl;
- }
- if (sksis == 3 && sksis2 == 2)
- {
- int rem, i = 1, rez_astuntaine = 0;
- while (prad2 != 0)
- {
- rem = prad2 % 8;
- prad2 /= 8;
- rez_astuntaine += rem * i;
- i *= 10;
- }
- cout << endl;
- cout << "Is Desimtaine -> i Astuntaine. Pradinis skaicius: " << prad2 << " . Rezultatas: " << rez_astuntaine << endl;
- }
- if (sksis == 3 && sksis2 == 3) //Is desimtaine i desimtaine. Nepasikeite.
- {
- cout << endl;
- cout << "Is Desimtaine -> i Desimtaine. Skaiciavimo sistema nepasikeite. Pradinis skaicius: " << prad2 << " . Rezultatas: " << prad2 << endl;
- }
- return 0;
- //Pavel Trostianko 2017.10.19
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement