Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include <conio.h>
- #include <windows.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string>
- #include <cstdio.h>
- using namespace std;
- // из шестеричной в тринадцатеричную
- // без использования массивов и с помощью массивов
- // int M = atoi(str);
- // itoa(M, str, 2);
- int main() {
- SetConsoleOutputCP(1251);
- do {
- cout << "Введите число в шестиричной системе:" << endl;
- unsigned long long int m;
- cin >> m;
- unsigned long long int m10 = 0;
- int col;
- for (int i = 1; ; i++) {
- unsigned long long int step = pow(10, i);
- unsigned long long int del = m / step;
- if (del < 1) {
- col = i;
- break;
- }
- }
- //44 cout << col << endl;
- for (int i = col; i > 0; i--) {
- unsigned long long int step = pow(10, i - 1);
- unsigned long long int stepx = pow(6, i - 1);
- unsigned long long int cifr = m / step;
- m10 += cifr * stepx;
- m = m - (cifr * step);
- }
- // cout << m10 << endl;
- char m13[1000];
- int cel = 1;
- int i = 0;
- while (cel != 0) {
- int ost = m10 % 13;
- cel = m10 / 13;
- m10 = int(m10 / 13);
- if (ost > 9) {
- switch (ost) {
- case 10:
- m13[i] = 'A';
- m13[i + 1] = '\0';
- i++;
- break;
- case 11:
- m13[i] = 'B';
- m13[i + 1] = '\0';
- i++;
- break;
- case 12:
- m13[i] = 'C';
- m13[i + 1] = '\0';
- i++;
- break;
- }
- }
- else {
- m13[i] = ost + 48;
- m13[i + 1] = '\0';
- i++;
- }
- }
- strrev(m13);
- cout << "Число в тринадцетиричной системе:" << m13 << endl;
- cout << "Для повтора нажмите y" << endl;
- }
- while (getch() == 'y');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement