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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2014, 19:54   #1
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
Восклицание Перевести число из десятичной системы в прямой, обратный и дополнительный код Delphi или C++

добрый вечер, всем тем, кто посещает этот форум! помогите, пожалуйста, написать программу на языке Delphi 7 или C++ (в консольном или визуальном режиме).

задание:
Перевести число из десятичной системы счисления в прямой, обратный и дополнительный код.

прямой, обратный и дополнительный код тут - http://www.maksakov-sa.ru/EGEEInform...tch/index.html

спасибо всем за внимание и, надеюсь, за помощь!
carrie bradshaw вне форума Ответить с цитированием
Старый 19.03.2014, 20:48   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Что такое прямой, обратный и дополнительной коды большинство здесь и так знает. Но, в любом случае, за ссылку спасибо. Думаю, она может пригодиться другим новичкам.
Что касается помощи, то, увы, пока помогать не чему. Где Ваши наработки?
Streletz вне форума Ответить с цитированием
Старый 19.03.2014, 21:38   #3
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
По умолчанию

я так понимаю, что нужно сначала перевести число (которое вводит пользователь в десятичной системе) в двоичную систему.

есть код перевода десятичного числа в двоичное на Pascal:
Код:
function IntToBinary(x: integer): string;
var
str: string;
begin
str:='';
while x>1 do
begin
 if x mod 2=0 then str:='0'+str else str:='1'+str;
 x:=x div 2;
end;
if x=0 then str:='0'+str else str:='1'+str;
Result:=str;
end;
но мне нужно на Delphi 7 или C++

надеюсь, что добрые форумчане откликнутся
carrie bradshaw вне форума Ответить с цитированием
Старый 19.03.2014, 21:44   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
но мне нужно на Delphi 7
Delphi - прямой поток Pascal. Этот код, по идее, должен прекрасно работать и в Delphi 7. А, что касается преобразования кодов, то это можно легко сделать на основе материалов из статьи по Вашей ссылке и элементарных приёмов работы со строками.
В статье дано полное описание алгоритма.
Streletz вне форума Ответить с цитированием
Старый 19.03.2014, 21:54   #5
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
Вопрос не работает перевод из десятичной системы в двоичную Delphi 7

ещё я начинаю делать перевод числа из десятичной системы в двоичную на Delphi 7, но немного не получается:
вот код:
Код:
type
  TForm107 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form107: TForm107;
  x,a:integer;
implementation

{$R *.dfm}
 function TForm107.Perevod(x: Integer): string;
const t:array[0..1] of char = ('0','1');
var res:string;
d:0..1;
begin
res:='';
while (x<>0) do
begin
d:=x mod 2 ;
res:=t[d]+res;
x:=x div 2 ;
end;
Perevod:=res;
end;
procedure TForm107.Button1Click(Sender: TObject);
begin
a:=StrToInt(Edit1.Text);
 Label1.Caption:=(Perevod(a));
end;
end.
как сделать так, чтобы функция заработала?
carrie bradshaw вне форума Ответить с цитированием
Старый 19.03.2014, 22:05   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Здесь есть 2 варианта.
1й вариант: за декларировать её в классе формы. Например, так:
Код:
type
  TForm107 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private   
  function Perevod(x: Integer): string; 

  public
    
  end;
2й вариант: убрать название формы из названия функции. Вместо этого
Код:
function TForm107.Perevod(x: Integer): string;
написать просто
Код:
function Perevod(x: Integer): string;
Streletz вне форума Ответить с цитированием
Старый 19.03.2014, 23:48   #7
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
Радость

Streletz, спаасибо!
carrie bradshaw вне форума Ответить с цитированием
Старый 20.03.2014, 00:41   #8
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
По умолчанию

как можно доделать код этой программы так, чтобы двоичное число переводилось в прямой, обратный и дополнительный код?
carrie bradshaw вне форума Ответить с цитированием
Старый 21.03.2014, 20:34   #9
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
как можно доделать код этой программы так, чтобы двоичное число переводилось в прямой, обратный и дополнительный код?
В принципе, прямой код Вы получаете уже сразу после преобразования в двоичную систему. Как из него получить всё остальное подробно изложено в Вашем самом 1м посте.
Streletz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести число из десятичной системы в шестнадцатиричную Dasha_P Общие вопросы C/C++ 11 02.08.2019 23:03
задачи по информатике - прямой, обратный и дополнительный коды представления чисел hbyuntvr Помощь студентам 10 31.10.2012 21:44
Доп.код,обратный код,прямой код вычисления Lukas077 Помощь студентам 0 20.03.2011 12:07
Прямой обратный дополнительный код kubachi Паскаль, Turbo Pascal, PascalABC.NET 1 24.12.2010 22:59
Помогите перевести число из десятичной в шестнадцатиричную систему TAUREN Помощь студентам 5 06.10.2007 14:06