Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 4

Переводить число из любой системы счисления в любую другую.

02.10.2016, 14:28. Показов 2297. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, помогите, уже неделю бьюсь головой об ноут...
Нам дали задачу написать прогу, которая будет переводить число из любой системы счисления в любую другую.
НО
подвох в том, что препод дает несуществующие системы счисления!
К примеру переведите число "9_65_76" из 80 системы счисления в 51-ую систему счисления.
("_" это тип пробел)
В инете нету нигде, а я не настолько шикарно пишу проги что бы написать ЭТО

Прошу помогите, мне не важно даже на каком языке (С++, С, Паскаль любой) лишь бы было.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2016, 14:28
Ответы с готовыми решениями:

Написать програмку перевода из любой системы счисления в любую вплоть до 16
Помогите написать програмку перевода из любой системы счисления в любую вплоть до 16. З.Ы заранее спасибо

Перевод любого числа из 10 системы в любую другую
Ребят, помогите, пожалуйста. От этого зависит оценка на экзамене!! Требуется написать программу на Паскале, которая осуществляет перевод...

Перевод из одной системы счисления в другую
Дали задание: написать программу для перевода из одной системы счисления в другую. Системы счисления задаются с клавиатуры. Т.е....

5
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
02.10.2016, 15:02
Как запостить тему, чтобы не получить ответ
Перевод в различные системы счисления
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.10.2016, 15:21
JokeR.BY, Это совсем другое, обычно рассматриваются системы с основанием до 36, где цифры от 0 до 9 и от A до Z.
Иногда 60, время и градусная мера.
А здесь число записано как 9 65 76 это одно трехзначное число.
0
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
02.10.2016, 15:55
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Puporev, я прекрасно понял о чём речь. тем не менее, формулу вида https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n-1}{q}^{n-1}+...+{a}_{0}{q}^{0} никто не отменял. тут алгоритм будет отличаться лишь наличием сепаратора (пробела в данном случае).

Добавлено через 16 минут
готовый набросок. не хватает множества проверок, но это уже оставлю на совесть ТС'a.
Pascal
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
const
    NUMBERS: Set Of Char = ['0'..'9'];
function StrToWord(const s: String; var error: Boolean): Word;
var
    Result, code: Word;
begin
    Val(s, Result, code);
    error := (code <> 0);
    if (error)
    then
        Result := 0;
    StrToWord := Result;
end;
function WordToStr(const x: Word): String;
var
    Result: String;
begin
    Str(x, Result);
    WordToStr := Result;
end;
function Power(const a: Byte; const b: Byte): LongWord;
var
    Result: LongWord;
    i: Byte;
begin
    Result := 1;
    if (b > 0)
    then
        for i := 1 to b do
            Result := Result * a;
    Power := Result;
end;
function AnyToDec(s: String; const sep: Char; const q: Byte; var error: Boolean): LongWord;
var
    Result: LongWord;
    sCurrNumb: String;
    xCurrNumb: Word;
    currDigit: Byte;
begin
    currDigit := 0; Result := 0;
    s := sep + s; error := False;
    while ((Length(s) > 0) And (Not error)) do
    begin
        sCurrNumb := ''; 
        while (s[Length(s)] <> sep) do
        begin
            sCurrNumb := s[Length(s)] + sCurrNumb;
            Delete(s, Length(s), 1);
        end;
        Delete(s, Length(s), 1);
        xCurrNumb := StrToWord(sCurrNumb, error);
        error := (error Or (xCurrNumb >= q));
        if (Not error)
        then
            Inc(Result, Power(q, currDigit) * xCurrNumb);
        Inc(currDigit);
    end;
    AnyToDec := Result;
end;
function DecToAny(x: LongWord; const sep: Char; const q: Byte): String;
var
    Result: String;
begin
    Result := '';
    while (x > 0) do
    begin
        Result := sep + WordToStr(x mod q) + Result;
        x := x div q;
    end;
    Delete(Result, 1, 1);
    DecToAny := Result;
end;
var
    x: String;
    q1, q2: Byte; //целочисленное основание (2..255)
    separator: Char; //разделитель
    ans: LongWord;
    error: Boolean;
begin
    repeat
        Write('Введите разделитель разрядов числа: ');
        ReadLn(separator);
    until Not(separator in NUMBERS);
    repeat
        Write('Введите основание оригинального числа: ');
        ReadLn(q1);
    until (q1 > 1);
    Write('Введите число: '); ReadLn(x);
    ans := AnyToDec(x, separator, q1, error);
    if (Not error)
    then
    begin
        WriteLn(x, '_', q1, '=', ans, '_10');
        repeat
            Write('Введите основание второго числа: ');
            ReadLn(q2);
        until (q2 > 1);
        WriteLn(x, '_', q1, '=', DecToAny(ans, separator, q2), '_', q2);
    end;
end.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
02.10.2016, 16:04
А на каком Паскале это написано?

Добавлено через 6 минут
Понял, Free Pascal.
0
0 / 0 / 0
Регистрация: 02.10.2016
Сообщений: 4
04.10.2016, 19:21  [ТС]
огромное спасибо, вы меня спасли просто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2016, 19:21
Помогаю со студенческими работами здесь

Перевод из одной системы счисления в другую
помогите пожалуйста(ошибка): Program perevod; Uses crt; Const Hex:string='ABCDEF'; Var Init,PartOS,Null,BInit,Way:string; ...

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

Программа для перевода чисел из одной системы счисления в другую
Написать программу для перевода чисел из одной системы счисления в другую. Из 10 в 2, Из 16 в 8. Задание может быть выполнено в виде двух...

Написать программу для перевода чисел из одной системы счисления в другую
написать программу для перевода из одной системы счисления в другую. Из 8 в 2; из 10в 8

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru