08.09.2010, 21:41. Просмотров 5622. Ответов 16
Надо написать программу которая будет переводить число из одной произвольной системы счисления в другую.
P. S. знаю, что таких задач по сети много, и даж есть на форуме, но мне они показались очень громоздкими, нам препод сказал делать по такой методики
к примеру есть число
abc в
n-ой с. с. мы его должны сначало перевести в
N= a*n^2+b*n^1+c*n^0
а потом чтобы перевести в нужную нам с. с допустим
q мы должны N разделить на q (нужную нам систему счисления) и остатки записать как число
я начала делать но у меня выходит проблема с компилятором мне выдает что, при pow: неодназначный вызов перегруженной функции
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| #include "stdafx.h"
#include "locale.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"
int _tmain()
{
setlocale (LC_ALL, "Russian");
const int u=50;
int t, w;
char k[u];
printf ("Введите исходное число :\n");
scanf ("%s", &k);
printf ("Введите систему счисления введеного числа :\n");
scanf("%d", &t);
printf ("Введите систему счисления в которую хотите перевести число введеное с клавиатуры :\n");
scanf ("%d", &w);
printf ("Число в новой системе счисления : %d \n",w);
int N, i;
int e=strlen(k);
for ( i=0; i<(e-1); i++) – поменятоь наоборот от
{
N=k[i]*pow(t,(e-1));
++i;
e=(e-1)-i;
}
printf ("%d", N);
_getch();
return 0;
} |
|