Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
26.05.2014
Размер:
1.85 Кб
Скачать
#include <stdio.h>

char c[255];
int ss1,ss2;
long long int ch;
char m[16]="0123456789ABCDEF";

int stp(int x,int y,long long int *t);
int izdvx(long long int ch,int ss,char c[255]);
int izxvd (char c[255], int ss,long long int *ch);

int main()
{
nextc:

printf("%s","vvedite s/s1 ");
scanf("%d", &ss1);

printf("%s", "vvedite chislo ");
scanf("%s",c);

printf("%s","vvedite s/s2 ");
scanf("%d", &ss2);

izxvd(c,ss1,&ch);
izdvx(ch,ss2,&c);

printf("%s \n%s ",c,"vvesti esche\? [y/n]");
getchar();
if ((getchar()=='y'))
goto nextc;
}

int izxvd (char c[255], int ss,long long int *ch)
{
int i,b,bc;
long int u;
*ch=0;
if ((ss>16)||(ss<2)) goto err;
for(i=1;i<=strlen(c);i++)
	{
	b=c[strlen(c)-i];
if ((b>m[ss-1])||(b<m[0])) goto err;
switch (b)
	{
case '0':
	bc=0;
	break; 
case '1':
	bc=1;
	break; 
case '2':
	bc=2;
	break; 
case '3':
	bc=3;
	break; 
case '4':
	bc=4;
	break; 
case '5':
	bc=5;
	break; 
case '6':
	bc=6;
	break; 
case '7':
	bc=7;
	break; 
case '8':
	bc=8;
	break; 
case '9':
	bc=9;
	break; 
case 'A':
	bc=10;
	break; 
case 'B':
	bc=11;
	break; 
case 'C':
	bc=12;
	break; 
case 'D':
	bc=13;
	break; 
case 'E':
	bc=14;
	break; 
case 'F':
	bc=15;
	break;
default: goto err; 
	}
		{
		err:
		printf("%s","Error \n");
		exit( -1);
		}
	stp(ss,i-1,&u);
	*ch=*ch+u*bc;
	}
return 0;
}

int izdvx(long long int ch,int ss,char c[255])
{
int ost,i;
char b;
i=0;
if((ss<2)||(ss>16))
	{
	printf("%s","Error \n");
	exit(-1);
	}
while (ch!=0)
	{
	ost=ch%ss;
	b=m[ost];
	c[i]=b;
	i++;
	ch=ch/ss;
	}
c[i]=0;
for(i=0;i<=strlen(c)/2-1; i++)
	{
	b=c[i];
	c[i]=c[strlen(c)-i-1];
	c[strlen(c)-i-1]=b;
	}
return 0;
}

int stp(int x,int y,long long int *t)
{
int i;
*t=1;
if(y!=0)
for(i=1;i<=y;i++) *t=*t*x;
return 0;
}
Соседние файлы в папке lab1
  • #
    26.05.20141.85 Кб13lab1.c
  • #
    26.05.201414.48 Кб13lab1.comp
  • #
    26.05.20141.98 Кб13laba1.c
  • #
    26.05.201414.48 Кб13laba1.comp
  • #
    26.05.20143 б13vb