Вторник, 07.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Помогите пожалуйста решить задачу:перевести число...
OrenДата: Понедельник, 26.11.2007, 22:18 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 1
Репутация: 0
Замечания: 0%
Статус: Offline
Перевести чсло из одной системы счисления в десятиричную. Пожалуйста помогите,очень надо. И как можно скорее. Буду очень признателен. Спасибо.
 
PavelДата: Вторник, 27.11.2007, 09:15 | Сообщение # 2
Приближенный
Группа: Модераторы
Сообщений: 210
Репутация: 17
Замечания: 0%
Статус: Offline
Из любой? В смысле ввести число, а потом ввести систему исчисления, в которой оно было? Я так понял?
 
SeqularДата: Вторник, 27.11.2007, 21:25 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Oren, Да, а реально... Возможны ли нестандартные системы счисления? Семиричная, там... Одинадцатиричная..?

Поддерживаю также проект сообщество молодых сисадминов
 
TexnarДата: Среда, 28.11.2007, 05:26 | Сообщение # 4
Знакомый
Группа: Пользователи
Сообщений: 16
Репутация: 1
Замечания: 0%
Статус: Offline
Как я понял пользователь вводит систему счисления и число, а программа сама переводит данное число в десятичную. Такая прога нужна?
 
PavelДата: Суббота, 01.12.2007, 21:38 | Сообщение # 5
Приближенный
Группа: Модераторы
Сообщений: 210
Репутация: 17
Замечания: 0%
Статус: Offline
Вот прога только для целых чисел. С нецелыми можно доделать самому. Работает с люьой системой счисления. До 16 (включительно) точно работает, дальше не проверял. biggrin

Code
program Vozved_v_lub_stepen;
uses crt;

var
     s: string[8];
     c, i, t: byte;
     r: longint;
     code: integer;

function Step(k: byte): word;
var
     l: byte;
     d: word;
begin
d := 1;
for l := 1 to k do
     d := d * c;
Step := d;
end;

begin
clrscr;
writeln('Vvedite chislo');
readln(s);
writeln('Vvedite systemu schisleniya');
readln(c);

for i := 1 to length(s) do
     begin
     val(s[i], t, code);
     if code = 1 then t := ord(upcase(s[i])) - 55;
     r := r + t * step(length(s) - i);
     end;

writeln(r);
readkey;

end.
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;