Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Помогите с задачкой пожалуйста


Рекомендуемые сообщения

Здорова всем! У меня проблема, нужно решить задачку по программированию а времени не хватает, перед сессией полный завал! Кто в этом деле смыслит, напишите пожалуйста на С++ задачу: перевести число из троичной системы счисления в двоичную (при написании проги можно использовать только простые типы, никаких массивов). Сделайте плиз, осталось 2 дня до сдачи а у меня из трех лабораторок только эта не сделана и я не знаю как ее сделать не используя массивы..........

Ссылка на комментарий
Поделиться на другие сайты

В каков виде нам задаётся входное число?

 

Перевод елементарный, нужен только вид входного числа.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

Убийцу можно понять, но нельзя простить. Предателя можно простить, но нельзя понять. Бойтесь равнодушных - именно с их молчаливого согласия совершаются все предательства и убийства на земле.

Ссылка на комментарий
Поделиться на другие сайты

skw,

и в каком виде нужно получить результат? если нужно получить десятичное значение двоичного числа и вывести его по битам, то это будет легко. Ну а если требутся получить десятичное число, каждый разряд которого будет соответствовать разряду двоичного числа, то будет сложнее. Как раз так наверное и задаётся входное число (например, 1201 - каждый десятичный разряд соответствует разряду троичного числа)

Ссылка на комментарий
Поделиться на другие сайты

dаs,

 

без разницы в каком виде получить результ, главное чтобы при выполнении программы на экране появилось число, соответствующее числу переведенному в двоичную систему счисления.

Я только что написал половину программы, перевод введенного числа из троичной систем в десятичную, завтра буду дописывать вторую половину (щас времени нет, нада презентацию сделать), если возникнут вопросы то спрошу в этой теме :132:

Ссылка на комментарий
Поделиться на другие сайты

skw,

Вот сделал на СИ:

#include <stdio.h>
#include <math.h>
#include <conio.h>

int Three2Dec(long x)
{
 int i=0,r=0,t;
 while(x)
{
  t=x%10;
  r+=t*pow(3,i++);
  x/=10;
}
 return r;
}
void WriteDecInBin(int x)
{
 int y,f=1;
 for(int i=sizeof(int)*8-1;i>=0;i--)
{
  if((y=(x>>i)&1)==1 && f) f=0;
  if(!f) printf("%d",y);
}
}
void main()
{
 clrscr();
 long a;
 printf("Please enter the digit: \n");
 scanf("%d",&a);
 printf("Result: ");
 WriteDecInBin(Three2Dec(a));
 scanf("\n");
}

P.S. Функцию вывода усложнил пропуском первых нулей :132:

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...