Advertisement
Guest User

Untitled

a guest
Nov 25th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include<iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. int dwaDoNtej(int n)
  8. {
  9. int wynik = 1;
  10.  
  11. for (int i = 0; i < n; i++)
  12. {
  13. wynik *= 2;
  14. }
  15.  
  16. return wynik;
  17. }
  18.  
  19. int bin2dec(string bin)
  20. {
  21. int wynik = 0;
  22.  
  23. for (int i = bin.size()-1; i >= 0; i--)
  24. {
  25. if (bin[i] == '1')
  26. {
  27. wynik += dwaDoNtej(bin.size()-1 - i);
  28. }
  29. }
  30. return wynik;
  31. }
  32.  
  33. string dec2bin(int dec)
  34. {
  35. string wynik;
  36.  
  37. while (dec != 0)
  38. {
  39. if (dec % 2 == 1)
  40. wynik = '1' + wynik;
  41. else wynik = '0' + wynik;
  42.  
  43. dec /= 2;
  44. }
  45.  
  46. return wynik;
  47. }
  48.  
  49. int main()
  50. {
  51. ifstream plikWejscia;
  52. ofstream plikWyjscia;
  53.  
  54. plikWejscia.open("liczby.txt");
  55. plikWyjscia.open("wynik.txt");
  56.  
  57. string liczbaBin;
  58. int liczbaDec;
  59.  
  60. while (!plikWejscia.eof())
  61. {
  62. plikWejscia >> liczbaBin;
  63. liczbaDec = bin2dec(liczbaBin);
  64. plikWyjscia << liczbaDec << endl;
  65. }
  66.  
  67. do
  68. {
  69. cin >> liczbaDec;
  70. liczbaBin = dec2bin(liczbaDec);
  71. cout << liczbaBin << endl;
  72. } while (liczbaDec != 0);
  73.  
  74. plikWejscia.close();
  75. plikWyjscia.close();
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement