Advertisement
PatrickSwayze

zad 4 lab10

Jan 10th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. /*
  2. 4. Napisz funkcję, która zwróci 1, w przypadku, gdy suma
  3. cyfr danej liczby, oraz suma cyfr tej liczby w notacji
  4. binarnej będzie taka sama w przeciwnym wypadku zwróci 0.
  5. Wyświetl wszystkie liczby z przedziału <n, m>, gdzie n i
  6.  m podajemy z klawiatury, które spełniają podane kryterium.
  7.  W zadaniu wykorzystaj trzy funkcje:
  8. funkcja zwracająca sumę cyfr w systemie dziesiętnym
  9. funkcja zwracająca sumę cyfr w systemie binarnym
  10. funkcja zwracająca 1 lub 0, w zależności od spełnienia kryteriów
  11. */
  12. #include <cstdlib>
  13. #include <iostream>
  14. using namespace std;
  15.  
  16. int bin(int n,int &sumabin)
  17. {
  18.  
  19. do{
  20. if ((n % 2) == 1)
  21. sumabin+=1;
  22. n /= 2;
  23. }while (n != 0);
  24.  
  25. return sumabin;
  26.  
  27. }
  28. int hex(int n,int &suma)
  29. {
  30.  
  31.     do
  32.     {
  33.         suma=suma+n%10;
  34.         n=n/10;
  35.     }
  36.     while(n!=0);
  37.     return suma;
  38. }
  39. int abc(int &suma,int &sumabin)
  40. {
  41.     if (suma==sumabin) return 1;
  42.     else return 0;
  43.  
  44. }
  45.  
  46. int main()
  47. {
  48.  
  49.     cout<<"Podaj przedzial liczb, dla ktorych chcesz sprawdzic, czy suma cyfr liczby w postaci binarnej jest rowna sumie w postaci dziesietnej: "<<endl;
  50.     cout<<"Zacznij od: ";
  51.     int a,b;
  52.     cin>>a;
  53.     cout<<"Skoncz na: ";
  54.     cin>>b;
  55.     for (int i=a;i<=b;i++)
  56.     {
  57.   int n=i;
  58.   int suma=0,sumabin=0;
  59.     bin(n,sumabin);
  60.     hex(n,suma);
  61. if (abc(suma,sumabin)==1)
  62.     {
  63.  
  64. cout<<"Liczba ktora spelnia warunek: "<<i<<endl;
  65.  cout<<"Suma liczb w systemie binarnym: "<<sumabin<<endl;
  66.  cout<<"Suma cyfr podanej liczby: "<<suma<<endl;
  67.     }
  68. // cout<<"Czy sumy w obu przypadkach sa takie same? (1-TAK, 0-NIE ): "<<abc(suma,sumabin);
  69.     }
  70.  
  71.  
  72.  
  73.   return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement