Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабы по Осям / OS_LAB1
.CPP#include<string.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>
void main()
{
int i,n;
int rezO,rez10=0;
int ss1,ss2;
char numb[10],rez[10],rep;
int buf[10];
do {
clrscr();
printf("Input ss1: ");
scanf("%d", &ss1);
printf("Input number: ");
scanf("%s", &numb);
printf("Input ss2: ");
scanf("%d", &ss2);
i=n=strlen(numb);
while(i) {
--i;
switch(numb[i]) {
case '0' : buf[i]=0; break;
case '1' : buf[i]=1; break;
case '2' : buf[i]=2; break;
case '3' : buf[i]=3; break;
case '4' : buf[i]=4; break;
case '5' : buf[i]=5; break;
case '6' : buf[i]=6; break;
case '7' : buf[i]=7; break;
case '8' : buf[i]=8; break;
case '9' : buf[i]=9; break;
case 'A' : buf[i]=10; break;
case 'B' : buf[i]=11; break;
case 'C' : buf[i]=12; break;
case 'D' : buf[i]=13; break;
case 'E' : buf[i]=14; break;
case 'F' : buf[i]=15; break;
case 'a' : buf[i]=10; break;
case 'b' : buf[i]=11; break;
case 'c' : buf[i]=12; break;
case 'd' : buf[i]=13; break;
case 'e' : buf[i]=14; break;
case 'f' : buf[i]=15; break;
}
}
for(i=0,n--;i<=n;i++) // Perevod 4isla iz ishodnoj sistemy v
rez10+=buf[i]*pow(ss1,(n-i)); // desyati4nuyu
n=0; i=0;
while(rez10) {
n++;
rezO=rez10%ss2; // perevod v ss2
rez10=rez10/ss2;
switch(rezO) {
case 0 : rez[i]='0'; break;
case 1 : rez[i]='1'; break;
case 2 : rez[i]='2'; break;
case 3 : rez[i]='3'; break;
case 4 : rez[i]='4'; break;
case 5 : rez[i]='5'; break;
case 6 : rez[i]='6'; break;
case 7 : rez[i]='7'; break;
case 8 : rez[i]='8'; break;
case 9 : rez[i]='9'; break;
case 10 : rez[i]='A'; break;
case 11 : rez[i]='B'; break;
case 12 : rez[i]='C'; break;
case 13 : rez[i]='D'; break;
case 14 : rez[i]='E'; break;
case 15 : rez[i]='F'; break;
}
i++;
}
for(i--;i>=0;i--)
printf("%c", rez[i]);
printf("\nDo you want to repeat Y/N: ");
scanf("%s", &rep);
}
while ((rep=='Y')||(rep=='y'));
}
Соседние файлы в папке лабы по Осям