#include <stdio.h> #include <conio.h> #include <vcl.h> #include <math.h> #include <string.h> #pragma hdrstop //------------------------------------------------ #pragma argsused int CharToInt(char alpha) { if(alpha<58 ) return alpha - 48; else return alpha - 55; } int ConvertToDec(char *input , int sinp ) { int sum = 0; int pow = 1; for(int i = strlen(input)-1; i>=0; i--) { sum+=CharToInt(input[i]) * pow; pow*=sinp; } return sum ; } char *convertX(int input, int sout, char *out) { while(input!=0) { byte j = input%sout; input/=sout; out--; if(j<10) *out = 48 + j; else *out = 55 + j; } return out; } int main(int argc, char* argv[]) { printf("Vvedite iszhodnoe chislo: " ); char input[32] = ""; scanf("%s", &input); printf("\nVvedite nachalnuiu codirovku: "); int sinp; scanf("%i", &sinp); printf("\nVvedite conechnuiu codirovku: "); int sout; scanf("%i", &sout); printf("\n\n= "); char output[32]; output[31] = 0; printf("%s", convertX(ConvertToDec(input, sinp), sout, output+31)); printf("\n\nNazsmite ljubuju klavisu..."); getch(); return 0; }
|