Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2008, 20:16   #1
Ivaine
Новичок
Джуниор
 
Регистрация: 26.12.2008
Сообщений: 2
Вопрос Реверс четверок

Надо написать ф-цию, которая по заданному числу возвращает другое число, в котором переставленыместами четверки.
т.е. вводишь число 163, в двоичной системе отсчета будет 10100011, на экран нужно вывесть число 00111010 + в 16тиричной. В программе всё готово, кроме перевода того, что получилось, в 16ричную систему, пробовала написать - не получается. Может кто подскажет что как сделать, ? Язык программирования - Си.
Код:
Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{	
	int a[100],b[100];
	int x,c,i,j,l,z,kn,d4,k4,p,t;
	printf("vvtdite 4islo\n");
	scanf("%i",&x);
	printf("isxodnoe 4islo x=%i\n",x);
	c = x;
	i = 0;
	while (c != 0)
	{
		a[i] = (c % 2);
		i++;
		c = c/2;
	}
	z = 0;
	d4 = i;
	for (j = d4-1; j >= 0; j--)
	{
		b[z] = a[j];
		printf("%i",b[z]);
		z++;
	}
	printf("\ndlina = %i\n",d4);
	if (((d4/4) % 2 == 0) || (d4 < 4))
	{
		kn = (8 - (d4 % 4));
	}
	else
	{
		kn = 4 - (d4 % 4);
	}
	if ((((d4 / 4) % 2) == 0) && ((d4 % 2) == 0))
		kn = 0;
	printf("kol-vo nulei = %i\n",kn);
	j = d4;
	while (j >= 0)
	{
		b[j+kn] = b[j];
		j--;
	}
	for (j = 0; j < kn; j++)
	{
		b[j] = 0;
	}
	for (j = 0; j < (d4 + kn); j++)
	{
		printf("%i",b[j]);
	}
	printf("\n");
	k4 = (d4 + kn) / 8;
	for (i = 0; i < k4; i++)
	{
		for (l = 0; l < 4; l++)
		{
			p = b[(4 * i) + l];
			b[(4 *i) + l] = b[((k4 * 8) - 4 - (4*i)) + l];
			b[((k4 * 8) - 4 - (4*i)) + l] = p;
		}
	}
	for (j = 0; j < (d4 + kn); j++)
	{
		printf("%i\n",b[j]);
	}
	getch();
	return 0;
}
Ivaine вне форума Ответить с цитированием
Старый 29.12.2008, 18:22   #2
Ivaine
Новичок
Джуниор
 
Регистрация: 26.12.2008
Сообщений: 2
По умолчанию

можно закрыть, разобралась)
Ivaine вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц