1

Тема: Поясніть як працює програма, переведення чисел з однієї системи в іншу

#include "stdafx.h"
#include "iostream" 
#include "conio.h"
#include "cmath"
#include <ctime>
#include <time.h> 
#include <cstdio>
#define DIG "0123456789ABCDEF"
 
using namespace std;
 
int Atoi(char *s, int p) 
{
    int i, a, digit[64] = {0};
    for(i = 0; DIG[i]; i++)
        digit[DIG[i]] = i;
    for(i = a = 0; s[i]; i++)
        a = a * p + digit[s[i]];
    return a;
}
 
void Itoa(int a, int p, char *s) 
{
   static int i = 0, n;
   if (a) 
   {
      ++i;
      Itoa(a / p, p, s);
      s[n - i--] = DIG[a % p];
   }
   else
      s[n = i] = '\0';
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int a1, a2;
    char s[1024];
    cout<<"Введите начальную систему счисления ";
    cin>>a1;
    cout<<"Введите конечную систему счисления ";
    cin>>a2;
    cout<<"Введите число ";
    cin>>s;
    Itoa(Atoi(s, a1), a2, s);
    cout << s << endl;
    _getch();
    return 0;
}

2

Re: Поясніть як працює програма, переведення чисел з однієї системи в іншу

А що, москаль, який її писав, вам не розповів перед смертю?

Подякували: leofun01, taburyak, FakiNyan3

3

Re: Поясніть як працює програма, переведення чисел з однієї системи в іншу

і москаля нема, немає москаля... сама сира земля...

Подякували: taburyak, /KIT\2