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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2012, 21:04   #1
Fanyuus
Форумчанин
 
Аватар для Fanyuus
 
Регистрация: 07.05.2011
Сообщений: 169
По умолчанию Из двоичную в троичную

Собственно, суть задачи такая:
есть функция с переменным числом параметров. Надо из двоичной переводить в троичную из функции main

например

Код:
main 
{
rrr(q,w,e);
rrr(q,w,e,r,t);
cout всё это
}
и у меня вопрос, пусть даже я додумаюсь и найду как переводить числа типа из двоичной в десятичную, но как из 10-ой в 3-ую?

Помогите, пожалуйста!
Fanyuus вне форума Ответить с цитированием
Старый 11.12.2012, 21:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
но как из 10-ой в 3-ую?
берём число в десятичной системе, делим на три, остаток от деления записываем, полученное после деления целое число опять делим на три, остаток записываем и т.д. пока число больше-равно 3.
всё. записанные остатки и дадут запись числа в троичной форме.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.12.2012, 22:35   #3
Suby
Пользователь
 
Аватар для Suby
 
Регистрация: 03.11.2012
Сообщений: 89
По умолчанию

Что-то типо того
Код:
#include <iostream>
#include <conio.h>
using namespace std; 
int main()
{
	int number;
	cout << "Enter number: ";
	cin >> number;
	while (number != 0)
	{
		cout << number % 3;
		number /= 3;
	}

    getch();   
    return 0;
}
только результат надо потом будет реверснуть вроде (задом наперед прочитать)
Suby вне форума Ответить с цитированием
Старый 11.12.2012, 23:23   #4
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

можно фуной itoa(number, deststr, 3); только на выходе текст.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 12.12.2012, 08:50   #5
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Цитата:
но как из 10-ой в 3-ую?
Код:
#include <stdio.h>


char* dec_to3(int n, char* s) {
   char* p, *t = s;
   while(n != 0) {
      *s++ = '0' + (n % 3);
       n  /= 3;
   }
   *s = '\0';
   for(p = t, --s; s > p; ++p, --s) {
       *p ^= *s;
       *s ^= *p;
       *p ^= *s;
   }
   return t;
}


int main(void)
{
   char s[32];
   printf("%s\n", dec_to3(1234567, s));
   return 0;
}
Nuklon вне форума Ответить с цитированием
Старый 13.12.2012, 20:11   #6
Fanyuus
Форумчанин
 
Аватар для Fanyuus
 
Регистрация: 07.05.2011
Сообщений: 169
По умолчанию

Код:
/*Написать функцию с переменным числом параметров для перевода чисел из двоичной системы счисления в троич-ную. 
Написать вызывающую функцию main, которая обращается к этой функции не менее трех раз с количеством параметров 3, 6, 7. */ 

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int bintree (int k, ...)
{
int *p = &k; //настроили указатель на параметр k
int i=0,j;
char string[256], c;

while (k >2 )
	{
		 string[i]+= k % 3;
		k /= 3;
		i++;
	}
string[i]+= k;

for (i = 0, j = strlen(string)-1; i<j; i++, j--) {
         c = string[i];
         string[i] = string[j];
         string[j] = c;
     }
cout << c;
return(0);
}
int main( )
{
	setlocale(0,"");
cout << "\nПеревод из двоичного в троичный чисел (100,1000,1001)= " << bintree(100,1000,1001); 
cout << "\nПеревод из двоичного в троичный чисел (100,1000,1001,100,1000,1001)= " << bintree(100,1000,1001,100,1000,1001); 
cout << "\nПеревод из двоичного в троичный чисел (100,1000,1001,100,1000,1001,111)= " << bintree(100,1000,1001,100,1000,1001,111); 
cin.get();
cin.get();
}
Помогите пожалуйста решить сие задачу - как???

Строчку не переворачивает, выводит всякую ерунду, уверена - тут ерунда тоже написанна
Fanyuus вне форума Ответить с цитированием
Старый 14.12.2012, 11:36   #7
Fanyuus
Форумчанин
 
Аватар для Fanyuus
 
Регистрация: 07.05.2011
Сообщений: 169
По умолчанию

Помогите пожалуйста!
Fanyuus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод чисел из 10 сс в двоичную Олег56 Помощь студентам 0 13.01.2011 15:29
Перевод из десятичной в двоичную систему diflesh2008 Помощь студентам 12 31.12.2010 15:38
Перевод из шестеричной в троичную СС dsf Общие вопросы C/C++ 1 03.12.2009 20:06
Как перевести число в троичную систсему исчисления? TwiX Общие вопросы Delphi 1 03.12.2009 17:59
составить алгоритм решения, реализующий перевод из 10 системы счисления в троичную Машута Паскаль, Turbo Pascal, PascalABC.NET 2 09.12.2008 18:20