18.01.2014, 16:29. Просмотров 291. Ответов 2
Кому не сложно) Напишите комментарий к строкам)
Эта программа переводит из одной системы счисления в другую!
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
38
39
40
41
42
43
44
45
| #include <iostream>
#include <string>
#include <locale>
using namespace std;
string zel(int a[],int la,int q,int p,string u)
{
string c="";
int snos,j;
do
{
j=0;
snos=0;
for(int i=0;i<la;i++)
{
snos*=q;
snos += a[i];
if ((snos<p) && (i) && (j) ) {a[j]=0;j++;}
if (snos>=p)
{
a[j] = snos/p;
snos=snos%p;
j++;
}
}
c = u[snos]+c;
la=j;
}while(la);
return c;
}
int main(void)
{
setlocale(LC_ALL,"Russian");
string u("0123456789ABCDEF"),a;
int q,p;
cout << "Введите число: "; cin >> a;
cout << "Введите исходную систему счисления: "; cin >> q;
cout << "Введите конечную систему счисления: "; cin >> p;
int la=a.size();
int *array = new int[la];
for (int i=0;i<=la;i++) array[i]=u.find(toupper(a[i]));
cout << string(80,'_') << zel(array,la,q,p,u) << endl;
system("pause");
} |
|