Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
26.05.2014
Размер:
1.98 Кб
Скачать
           #include <stdio.h>
#include <string.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;
return 0;
}

int izxvd (char c[255], int ss,long long int *ch)
{
char b;
int i,bc,bb;
long int u;
*ch=0;
if ((ss>16)||(ss<2)) goto err1;
for(i=1;i<=strlen(c);i++)
	{
	b=c[strlen(c)-i];
      if ((b>m[ss-1])||(b<m[0]))
           {
		err1:
		printf("%s","Error1 \n");
		return( -1);
		}
bc=0;
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 err1;
       break;
	}


       	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");
	return(-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