Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Autorzy: Cala grupa 2.
- * Data: 11.03.2015
- * Problem: Napisac program zamieniajacy liczbe zapisana w jednym systemie
- liczbowym na inny system liczbowy.
- * Dane: Ciagi znakow reprezentujace liczbe wejsciowa, system liczbowy liczby
- wejsciowej, oczekiwany system liczbowy.
- * Wyniki: Ciag znakow reprezentujacy liczbe wejsciowa zapisana w systemie
- podanym przez uzytkownika.
- * Plik: X2X.cpp
- **/
- #include <iostream>
- using namespace std;
- const int N = 255;
- unsigned short C2V(char c)// funkcja zwraca wartosc znaku reprezentujฯcego cyfre
- {
- int x; //x-wartosc znaku reprezentujacego cyfre
- if(c>='0' && c<='9') x=c-'0';
- if(c>='A' && c<='Z') x=c-'A'+10;
- if(c>='a' && c<='z') x=c-'a'+10;
- return x;
- }
- // funkcja zamienia liczbe z systemu p na dziesietny
- int X2D (char b1[], int p) // p- podstawa systemu, b1 - tablica wartosci znakow
- { int wartosc; // wartosc - wartosc wyniku,
- int n = strlen(b1); // n-dlugosc tablicy
- wartosc = 0;
- for ( int i = n; i > 1; i--)
- wartosc = (wartosc + C2V(b1[n-i]))*p;
- wartosc = wartosc + C2V(b1[n-1]);
- return wartosc;
- }
- char V2C(unsigned short v) //funkcja grupy III
- {
- char c;
- if (v>9) c='A'+v -10;
- else c ='0'+ v;
- return c;
- }
- void D2X(char x[], int d, int p)
- {
- int i=0;
- int j=d;
- while(j!=0)
- {
- x[i]=V2C(j%p);
- j=j/p;
- i++;
- }
- reverse(x, x+i);
- }
- void X2X(char x[], char b1[], unsigned short p1, unsigned short p2) {
- int d = X2D(b1, p1);
- D2X(x, d, p2);
- }
- int main() {
- char tabWejsc[N], tabWyjsc[N];
- unsigned short systemWejsciowy, systemWyjsciowy;
- cout << "Ten program dokonuje konwersji liczb pomiedzy wybranymi systemami pozycyjnymi." << endl;
- cout << "Podaj liczbe do konwersji: ";
- cin >> tabWejsc;
- cout << "Podaj system liczbowy, w ktorym zapisana jest ta liczba: ";
- cin >> systemWejsciowy;
- cout << "Podaj system liczbowy, w ktorym chcesz aby ta liczba zostala zapisana: ";
- cin >> systemWyjsciowy;
- X2X(tabWyjsc, tabWejsc, systemWejsciowy, systemWyjsciowy);
- cout << "Szukana przez Ciebie liczba to: " << string(tabWyjsc);
- cout << endl << endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement