Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2011, 13:50   #1
Terti
Пользователь
 
Регистрация: 21.08.2011
Сообщений: 24
По умолчанию Перевод из 2 в 8 на паскале

Помогите с кодом для перевода! Нельзя использовать строковые функции не массивы.
Terti вне форума Ответить с цитированием
Старый 22.10.2011, 17:29   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Нельзя использовать строковые функции не массивы.
если нельзя использовать ни строки, ни массивы, тогда откройте тайну - как Вы собираетесь вводить/задавать число в двоичной системе?!
Или вводить/задавать исходное число надо в десятичной системе счисления?

а вообще, для решения задачи надо из двоичного числа выделять справа по три символа (например, с помощью сдвига двоичного числа вправо) и полученное число преобразовать в восьмеричное число от 0 до 7. и всё...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.10.2011, 17:34   #3
Terti
Пользователь
 
Регистрация: 21.08.2011
Сообщений: 24
По умолчанию

я вот тоже самое спросил у преподавателя!
вот что у меня вышло правда очень глупо:
Код:
program te_1;
uses
crt;
var
a,k,p,u,b,l,i,q,w,e:integer;

begin

readln(a);
b:=a;
while b<>0 do begin
 p:=b mod 1000;
 K:=K+1;
 b:=b div 1000;
 end;
// writeln('k=',k);
  if k=1 then
 case a of
 000:write('0');
 001 :write('1');
 010  :write('2');
 011   :write('3');
 100  :write('4');
 101  :write('5');
 110 :write('6');
 111 :write('7') ;
 end;
 
   if k=2  then   begin
     p:=a mod 1000 ;
  k:=a div 1000;
    case k of
 000:write('0');
 001 :write('1');
 010  :write('2');
 011   :write('3');
 100  :write('4');
 101  :write('5');
 110 :write('6');
111 :write('7')
 end;
 case p of
 000:write('0');
 001 :write('1');
 010  :write('2');
 011   :write('3');
 100  :write('4');
 101  :write('5');
 110 :write('6');
111 :write('7')
 end;
end;


  if k=3  then   begin
     q:=a mod 1000 ;
  w:=a div 1000000;
   e:=a div 1000 mod 1000;
    case w of
 000:write('0');
 001 :write('1');
 010  :write('2');
 011   :write('3');
 100  :write('4');
 101  :write('5');
 110 :write('6');
111 :write('7')
 end;
 case e of
 000:write('0');
 001 :write('1');
 010  :write('2');
 011   :write('3');
 100  :write('4');
 101  :write('5');
 110 :write('6');
111 :write('7')
 end;
  case q of
 000:write('0');
 001 :write('1');
 010  :write('2');
 011   :write('3');
 100  :write('4');
 101  :write('5');
 110 :write('6');
111 :write('7')
 end;
end;



end.
________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.10.2011 в 18:24.
Terti вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из C++ в C# s-mario Помощь студентам 3 26.10.2011 18:02
Программа на паскале. Перевод на С++ Adu Помощь студентам 0 25.05.2010 20:35
перевод Александе еть я Помощь студентам 1 09.05.2010 00:14
привет всем! помогите пожалуйста решить две задачи на паскале. я в паскале полный ноль. Пищенок Саша Паскаль, Turbo Pascal, PascalABC.NET 5 20.01.2009 13:46