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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.86
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
#1

Перевод из одной системы счисления в другую от 2 до 36 - C++

22.06.2013, 11:12. Просмотров 9500. Ответов 15
Метки нет (Все метки)

Помогите пожалуйсто, сколько сижу ничего стоющего не приходит в голову!
Дано целое неотрицательное число в I-ричной системе счисления. Вывести это число в J-ричной системе счисления. Ограничения: 2 <= I, J <= 36, для представления цифр 10...35 используются прописные латинские буквы A...Z соответственно, число разрядов исходного числа не превышает 1000. При вводе: В первой строке находятся числа I и J (в десятичной системе счисления), во второй строке - число для перевода. При выводе: Вывести искомое число. Если число начинается с буквы, перед ней не должно быть нуля. Примеры
Ввод 1
10 36
29234652
Вывод 1
HELLO
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 11:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод из одной системы счисления в другую от 2 до 36 (C++):

Перевод из одной системы счисления в другую - C++
Суть задачи такова: Написать программу , которая переводит число из 2-й системы счистления в 12-ю через 10-ю. Заранее спасибо!)Язык С++ ...

Перевод из одной системы счисления в другую - C++
перевод чисел(в том числе с дробной частью) из сс q в сс p.(q, p от 2 до 16) помогите протестить: #include &lt;iostream&gt; #include...

Перевод из одной системы счисления в другую - C++
Посмотрите, пожалуйста, кому не сложно код в с++. При компиляции выдает ошибку invalid function declaration Текст задачи: Десятичное...

Перевод из одной системы счисления в другую - C++
Помогите разобраться с переводом из любой системы счисления в любую. Хотел составить программу типа: Основание системы (вход): 15 ...

Перевод из одной системы счисления в другую - C++
Проблема с переводом из двоичной системы в десятичную. Допустим у нас есть такое число 11101101 это 237 моя программа хорошо переводит, но...

Перевод из одной системы счисления в другую - C++
помогите перевести из 8 ричной системы счисления в 16 ричную ----&gt; Перевод из системы по основанию 8 в систему по основанию 16 ...

15
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.06.2013, 19:35 #2
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
#include <iostream.h>
#include <cstring>
#define DIG "0123456789ABCDEFGHIGKLMNOPQRSTUVWXYZ"
using namespace std;
 
int Atoi(char *s, int p){
    int i, a, digit[256] = {0};
    for(i = 0; DIG[i]; i++)
        digit[DIG[i]] = i;
    for(i = a = 0; s[i]; i++)
        a = a * p + digit[s[i]];
    return a;
}
 
void Itoa(int a, int p, char *s) {
   static int i = 0, n;
   if (a) {
      ++i;
      Itoa(a / p, p, s);
      s[n - i--] = DIG[a % p];
   }
   else
      s[n = i] = '\0';
}
 
int main(){
   char s[1024] = "29234652";
   Itoa(Atoi(s, 10), 36, s);
   cout << s << endl;
   return 0;
}
0
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
23.06.2013, 18:12  [ТС] #3
Спасибо, только он с большим количеством символов не хочет работать, выдаёт пустую строку в выводе
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.06.2013, 18:19 #4
Цитата Сообщение от kenedy542 Посмотреть сообщение
Спасибо, только он с большим количеством символов не хочет работать, выдаёт пустую строку в выводе
покажите пример
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
23.06.2013, 18:25 #5
@kenedy542, а вы не забывайте, что int вмещает максимально 2^31 - 1
1
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.06.2013, 18:31 #6
Цитата Сообщение от kenedy542 Посмотреть сообщение
число разрядов исходного числа не превышает 1000
Хммм... не заметил. нужно тоже самое, только с длинной арифметикой.
0
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
23.06.2013, 20:42  [ТС] #7
В общем щас я скину фотографию с тестами, которые программа должна пройти
0
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
23.06.2013, 20:50  [ТС] #8
http://www.cyberforum.ru/attachment....1&d=1372006228
0
Миниатюры
Перевод из одной системы счисления в другую от 2 до 36  
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.06.2013, 20:56 #9
а откуда эти тесты, что за систему пишите?
0
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
23.06.2013, 21:01  [ТС] #10
Цитата Сообщение от Thinker Посмотреть сообщение
а откуда эти тесты, что за систему пишите?
В общем это летняя практика у 1гго курса))
0
Olivеr
23.06.2013, 21:10
  #11

Не по теме:

Цитата Сообщение от kenedy542 Посмотреть сообщение
В общем это летняя практика у 1гго курса))
Прикольно. Вам тесты дают, а нам не давали

0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.06.2013, 21:10 #12
первым делом реализуйте длинную арифметику, а затем функции Atio и Itoa немного преобразовать останется.
0
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
23.06.2013, 21:16  [ТС] #13
Цитата Сообщение от Thinker Посмотреть сообщение
первым делом реализуйте длинную арифметику, а затем функции Atio и Itoa немного преобразовать останется.
Вопрос наверное глупый, но что значит реализовать длинную арефметику несовсем понимаю))
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.06.2013, 21:17 #14
http://ru.wikipedia.org/wiki/%C4%EB%...E5%F2%E8%EA%E0
1
kenedy542
0 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 12
25.06.2013, 14:23  [ТС] #15
Цитата Сообщение от Thinker Посмотреть сообщение
http://ru.wikipedia.org/wiki/%C4%EB%...E5%F2%E8%EA%E0
К сожалению, из-за моего недостаточного знания С++(мало его изучаю только, 1 семестр) не могу понять этот метод и его в дальнейшем использовать. Не можешь его реализовать? пробовал другими способами написать эту программу, частично используя твой алгоритм, но мне сказали что без Длинной арифметики ничего не поделаешь...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2013, 14:23
Привет! Вот еще темы с ответами:

Перевод с одной системы счисления в другую - C++
Приветствую вас, товарищи программисты. Помогите пожалуйста. Не могу решить, маленькую проблемку. Как сделать так, что-бы при вводе...

Перевод из одной системы счисления в другую - C++
Составить программу перевода натурального числа из позиционной системы счисления с основанием m в позиционную систему счисления с...

Перевод из одной системы счисления в другую - C++
Может кто подскажет ссылки где можно почитать про перевод чисел из однйо системы счисления в другую? К примеру из двоичной в...

Перевод из одной системы счисления в другую - C++
Осуществить перевод введенного с клавиатуры числа в двоичной, шестнадцатерич-ной, восьмеричной или десятичной системах счисления в другие...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
25.06.2013, 14:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru