Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. #include <conio.h>
  4. #include <windows.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string>
  8. #include <cstdio.h>
  9. using namespace std;
  10.  
  11. // из шестеричной в тринадцатеричную
  12. // без использования массивов и с помощью массивов
  13. // int M = atoi(str);
  14. // itoa(M, str, 2);
  15.  
  16. int main() {
  17.     SetConsoleOutputCP(1251);
  18.     do {
  19.         cout << "Введите число в шестиричной системе:" << endl;
  20.         unsigned long long int m;
  21.         cin >> m;
  22.         unsigned long long int m10 = 0;
  23.         int col;
  24.         for (int i = 1; ; i++) {
  25.             unsigned long long int step = pow(10, i);
  26.             unsigned long long int del = m / step;
  27.             if (del < 1) {
  28.                 col = i;
  29.                 break;
  30.             }
  31.         }
  32.         //44 cout << col << endl;
  33.         for (int i = col; i > 0; i--) {
  34.             unsigned long long int step = pow(10, i - 1);
  35.             unsigned long long int stepx = pow(6, i - 1);
  36.             unsigned long long int cifr = m / step;
  37.             m10 += cifr * stepx;
  38.             m = m - (cifr * step);
  39.         }
  40.         // cout << m10 << endl;
  41.         char m13[1000];
  42.         int cel = 1;
  43.         int i = 0;
  44.  
  45.         while (cel != 0) {
  46.             int ost = m10 % 13;
  47.             cel = m10 / 13;
  48.             m10 = int(m10 / 13);
  49.             if (ost > 9) {
  50.                 switch (ost) {
  51.                 case 10:
  52.                     m13[i] = 'A';
  53.                     m13[i + 1] = '\0';
  54.                     i++;
  55.                     break;
  56.                 case 11:
  57.                     m13[i] = 'B';
  58.                     m13[i + 1] = '\0';
  59.                     i++;
  60.                     break;
  61.                 case 12:
  62.                     m13[i] = 'C';
  63.                     m13[i + 1] = '\0';
  64.                     i++;
  65.                     break;
  66.                 }
  67.             }
  68.             else {
  69.                 m13[i] = ost + 48;
  70.                 m13[i + 1] = '\0';
  71.                 i++;
  72.             }
  73.         }
  74.         strrev(m13);
  75.         cout << "Число в тринадцетиричной системе:" << m13 << endl;
  76.         cout << "Для повтора нажмите y" << endl;
  77.     }
  78.     while (getch() == 'y');
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement