Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

нужна п/п переводящая числа из 2сс в 8сс

70K
13 апреля 2011 года
shorty
2 / / 13.04.2011
на заочном нужно сдать к\р по осн.алгоритмизации(1 курс)
уже отчаялся искать где-то в сети, надеюсь найти помощи у вас!
в общем, суть такова:
п\п должна переводить ряд чисел(двоичных), разбивая их на триады
и переводя отдельную триаду в 8ичное число с помощью банального подставления результатов из таблицы (000-0,001-1 ... 111-7), если в триаде чисел <3 доставить недостающие нулями (я так понял с помощью insert('0',s,1) s-есть наш ряд чисел)
ряд чисел должен быть представлен string, а перед сравнением каждая триада переведена в integer.
и всё вроде бы просто, но для меня это сродни знакомства с интернетом для 100-летней бабульки.(а я как вы уже поняли, не в зуб ногой! :D)
п.с.: надеюсь на минимум троллей на вашем чудном форуме
п.п.с.: если есть какой-нибудь материал по данному вопросу(предельно понятный новичку), с радостью изучу всё сам))
п.п.п.с: если я недописал что-то важное, допишу обязательно, только скажите что (и желательно по-русски - в сленге я не силён совсем)
огромное человеческое "Спасибо!" всем кто отнесётся к теме, не как к свежей еде(привет, тролли!:D)
278
13 апреля 2011 года
Alexander92
1.1K / / 04.08.2008
Код:
program BinToOct;
uses Crt;

var
 BinaryString, OctalString, TriadString: string;
 TriadNumber: integer;
 i, j: integer;
 Code: integer;

begin
 ClrScr;
 WriteLn('Enter the number in binary notation: ');
 ReadLn(BinaryString);
 i := Length(BinaryString);
 OctalString := '';
 repeat
  TriadString := '';
  if i <= 3 then
  begin
   TriadString := Copy(BinaryString, 1, i);
   for j := 1 to 3-i do Insert('0', TriadString, 1);
  end else
   TriadString := Copy(BinaryString, i-2, 3);
  i := i-3;
  Val(TriadString, TriadNumber, Code);
  case TriadNumber of
   0:   OctalString := '0' + OctalString;
   1:   OctalString := '1' + OctalString;
   10:  OctalString := '2' + OctalString;
   11:  OctalString := '3' + OctalString;
   100: OctalString := '4' + OctalString;
   101: OctalString := '5' + OctalString;
   110: OctalString := '6' + OctalString;
   111: OctalString := '7' + OctalString;
  end;
 until i <= 0;
 WriteLn(BinaryString, '(2) = ', OctalString, '(8)');
 ReadLn;
end.
70K
13 апреля 2011 года
shorty
2 / / 13.04.2011
Да! ДА!! Это как раз то что я искал!!!))) Баааааальшущееее спасибо!!)))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог