Форум программистов, компьютерный форум CyberForum.ru

Вывести на экран результат сложения в троичной системе счисления. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Новичок_111
1 / 1 / 0
Регистрация: 08.12.2011
Сообщений: 10
23.02.2012, 12:30     Вывести на экран результат сложения в троичной системе счисления. #1
Пользователь вводит 2 строки символов длиной 5, содержащие положительный числа в троичной системе счисления. Произвести сложение 2-х чисел с использованием троичной арифметики . Вывести на экран результат сложения в троичной системе счисления.

Пример:

00012

11110

Ответ: 00012(3сс) + 11110(3сс) = 11122(3сс)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 12:30     Вывести на экран результат сложения в троичной системе счисления.
Посмотрите здесь:

Создать функцию для вывода на экран целого числа в двоичной системе счисления с применением побитовых операций. C++
Составить программу,которая печатает таблицу умножения и сложения натуральных чисел в десятичной системе счисления на пять C++
C++ Ввести целое число N, вывести его в 8-ричной системе счисления
C++ Составить программу,которая печатает таблицу умножения и сложения натуральных чисел в шестнадцатеричной системе счисления
Сделать два массива в две строки и вывести результат сложения их в третью строку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Damn364
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 32
03.04.2012, 20:26     Вывести на экран результат сложения в троичной системе счисления. #2
Поднял тему!
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
03.04.2012, 20:28     Вывести на экран результат сложения в троичной системе счисления. #3
Мне конечно не лень, но время нужно. А троичная обычная, не уравновешенная, как я понял?
Betokuha
 Аватар для Betokuha
32 / 29 / 9
Регистрация: 05.03.2012
Сообщений: 114
03.04.2012, 20:34     Вывести на экран результат сложения в троичной системе счисления. #4
Цитата Сообщение от Новичок_111 Посмотреть сообщение
(3сс)
это чё? просто так ввывести?
TwiX
59 / 59 / 1
Регистрация: 27.10.2011
Сообщений: 189
03.04.2012, 20:50     Вывести на экран результат сложения в троичной системе счисления. #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <string>
#include <iostream>
 
using namespace std;
 
 
string toThr(int x1)
{    
    string str="";
    
    while(x1)
    {
        str = (char)('0'+x1%3) + str; 
        //str = string(1, digits[x1 % 2]) + str;
        x1 /= 3;
    }
    return str;
}
 
int fromThr(string s)
{
   int res=0;
   int l = s.length();
   int base = 1;
   for (int i=0; i<l; i++)
   {
      res+=(s[l-i-1]-'0')*base;
      base*=3;
   }
   return res;
}
 
int main(void)
{
   string s1, s2;
   cin >> s1 >> s2;
   cout << toThr(fromThr(s1)+fromThr(s2)) << endl;
   return 0;
}
http://liveworkspace.org/code/638370...ce94b34ffb6823
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
03.04.2012, 20:59     Вывести на экран результат сложения в троичной системе счисления. #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
int main()
{
 cout<<"Enter first number: ";
 char s1[5];
 cin>>s1;
 cout<<"Enter second number: ";
 char s2[5];
 cin>>s2;
 char s3[6];
 int x=0;
 for (int i=4;i>=0;i--)
  {
   s3[i]=s1[i]+s2[i]+x-'0';
   if (s3[i]>'2')
    {
     s3[i]-=3;
     x=1;
    }
   else x=0;
  }
 s3[5]='\0';
 cout<<s1<<"(3cc) + "<<s2<<"(3cc) = "<< s3 << "(3cc)"<<endl;
 system("pause");
 return 0;
}
TwiX
59 / 59 / 1
Регистрация: 27.10.2011
Сообщений: 189
03.04.2012, 21:19     Вывести на экран результат сложения в троичной системе счисления. #7
Nekto, тебе нужно сделать длину s1 и s2 не по 5, а по 6 символов. А то при выводе можешь ещё часть программы на экран вывести Или потереть часть проги при вводе)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2012, 21:25     Вывести на экран результат сложения в троичной системе счисления.
Еще ссылки по теме:

Распарсить выражение, состоящее из чисел, скобок и знаков сложения и вычитания, и вывести результат C++
C++ Таблица сложения одноразрядных чисел в p-ичной системе счисления
C++ Вычитание в троичной системе счисления

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
03.04.2012, 21:25     Вывести на экран результат сложения в троичной системе счисления. #8
Цитата Сообщение от TwiX Посмотреть сообщение
Nekto, тебе нужно сделать длину s1 и s2 не по 5, а по 6 символов. А то при выводе можешь ещё часть программы на экран вывести Или потереть часть проги при вводе)
та я заметил это на s3 надо еще наверное проверку на переполнение делать

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;
int main()
{
 cout<<"Enter first number: ";
 char s1[6];
 cin>>s1;
 cout<<"Enter second number: ";
 char s2[6];
 cin>>s2;
 char s3[7];
 int x=0;
 for (int i=4;i>=0;i--)
  {
   s3[i+1]=s1[i]+s2[i]+x-'0';
   if (s3[i+1]>'2')
    {
     s3[i+1]-=3;
     x=1;
    }
   else x=0;
  }
 if (x==1) s3[0]='1'; else s3[0]=' ';
 s3[6]='\0';
 cout<<s1<<"(3cc) + "<<s2<<"(3cc) = "<< s3 << "(3cc)"<<endl;
 system("pause");
 return 0;
}
Так чуть правильнее по идее
Yandex
Объявления
03.04.2012, 21:25     Вывести на экран результат сложения в троичной системе счисления.
Ответ Создать тему
Опции темы

Текущее время: 14:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru