Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 4. Napisz funkcję, która zwróci 1, w przypadku, gdy suma
- cyfr danej liczby, oraz suma cyfr tej liczby w notacji
- binarnej będzie taka sama w przeciwnym wypadku zwróci 0.
- Wyświetl wszystkie liczby z przedziału <n, m>, gdzie n i
- m podajemy z klawiatury, które spełniają podane kryterium.
- W zadaniu wykorzystaj trzy funkcje:
- funkcja zwracająca sumę cyfr w systemie dziesiętnym
- funkcja zwracająca sumę cyfr w systemie binarnym
- funkcja zwracająca 1 lub 0, w zależności od spełnienia kryteriów
- */
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- int bin(int n,int &sumabin)
- {
- do{
- if ((n % 2) == 1)
- sumabin+=1;
- n /= 2;
- }while (n != 0);
- return sumabin;
- }
- int hex(int n,int &suma)
- {
- do
- {
- suma=suma+n%10;
- n=n/10;
- }
- while(n!=0);
- return suma;
- }
- int abc(int &suma,int &sumabin)
- {
- if (suma==sumabin) return 1;
- else return 0;
- }
- int main()
- {
- cout<<"Podaj przedzial liczb, dla ktorych chcesz sprawdzic, czy suma cyfr liczby w postaci binarnej jest rowna sumie w postaci dziesietnej: "<<endl;
- cout<<"Zacznij od: ";
- int a,b;
- cin>>a;
- cout<<"Skoncz na: ";
- cin>>b;
- for (int i=a;i<=b;i++)
- {
- int n=i;
- int suma=0,sumabin=0;
- bin(n,sumabin);
- hex(n,suma);
- if (abc(suma,sumabin)==1)
- {
- cout<<"Liczba ktora spelnia warunek: "<<i<<endl;
- cout<<"Suma liczb w systemie binarnym: "<<sumabin<<endl;
- cout<<"Suma cyfr podanej liczby: "<<suma<<endl;
- }
- // cout<<"Czy sumy w obu przypadkach sa takie same? (1-TAK, 0-NIE ): "<<abc(suma,sumabin);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement