IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Перевод систем счисления, действия с дробями
mafia1232
сообщение 14.12.2005 19:49
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 46
Пол: Мужской

Репутация: -  0  +


вот у вас нашел универсальный переводчик


Код
program perevod;
var
  q,p,n,osnov,s,m,i:longint;
  st:string;
  ch:char;
  mas:array[1..30] of byte;

function test(st:string; osnov:integer):boolean;
var n,i:integer; mn:set of char;
begin
test:=true;
mn:=[];
for i:=0 to osnov-1 do
  if i<=9 then mn:=mn+[chr(i+48)]
     else mn:=mn+[chr(i+55)];
n:=ord(st[0]);
for i:=1 to n do
if (st[i]<>',') and (not(st[i] in mn)) then
  begin
  writeln('neverniu vvod');
  test:=false;
  i:=n;
  end;
end;

function chislo(ch:char):integer;
begin
if ord(ch) in [48..57] then chislo:=ord(ch)-48
  else chislo:=ord(ch)-55;
end;

function simvol(n:byte):char;
begin
if n in [10..15] then simvol:=chr(n+55)
  else simvol:=chr(n+48);
end;

begin
writeln ('vvedite osnovanie p(sistema s4isleni9)');
readln(p);
writeln ('vvod 4isla (posle 9 pisat ABC...)');
repeat
  readln (st);
until test(st,p);
writeln ('v kakyuy perevesti sistemy s4isleni9?');
readln (q);
s:=0;
m:=1;
n:=ord(st[0]);
for i:=n downto 1 do
  begin
  s:=s+chislo(st[i])*m;
  m:=m*p;
  end;
m:=0;
repeat
  inc(m);
  mas[m]:=s mod q;
  s:=s div q;
until s<=q-1;
inc(m);
mas[m]:=s;
for i:=m downto 1 do
  write(simvol(mas[i]));
  readln;
end.




как сделать чтобы она с дробными числами работала?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
Altair
сообщение 15.12.2005 2:56
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


с дробными то есть вида a/b ?
ну так переводи отдельно a, отдельно b и все.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 13:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"