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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2009, 16:47   #1
Juventus91
Новичок
Джуниор
 
Регистрация: 05.09.2009
Сообщений: 2
Восклицание Pascal: массивы

преподаватель задал решить до понедельника задачу у меня ничего не получается:

Разработать процедуру для формирования из массива двоичных цифр массива десятичных чисел,каждое из которых равно трехрязрядному двоичному числу исходного массива.
Используя Эту процедуру преобразовать каждую строку двоичного массива в десятичный код.
Juventus91 вне форума Ответить с цитированием
Старый 06.09.2009, 09:10   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Как один из вариантов:
Код:
program BinToDec;

uses Crt;

const
  b1 = 5; 

var
  bin : array[1..b1, 1..3] of byte;
  dec : array[1..b1] of byte;
  i, j : Integer;
  d : byte;

procedure Convert;
var
  i : Integer;
begin
  Randomize;
  for i := 1 to b1 do
    for j := 1 to 3 do
      bin[i, j] := Random(2);

{преобразование двоичных чисел в десятичные}
  for i := 1 to b1 do
    for j := 3 downto 1 do begin
      d := 4;
      if j = 2 then d := 2;
      if j = 3 then d := 1;
      dec[i] := dec[i] + bin[i, j] * d;
    end;

{несколько измененный вариант преобразования 
  for i := 1 to b1 do begin
    d := 1;
    for j := 3 downto 1 do begin
      if j < 3 then d := d * 2;
      dec[i] := dec[i] + bin[i, j] * d;
    end;
  end;
}
end;

begin
  Convert;
  WriteLn('binary array');
  for i := 1 to b1 do begin
    for j := 1 to 3 do
      Write(bin[i, j]);
    WriteLn;
  end;

  WriteLn;
  WriteLn('decimal array');
  for i := 1 to b1 do
    writeLn(dec[i])
end.

Последний раз редактировалось Скандербег; 06.09.2009 в 09:43. Причина: Вариант
Скандербег вне форума Ответить с цитированием
Старый 06.09.2009, 14:21   #3
Juventus91
Новичок
Джуниор
 
Регистрация: 05.09.2009
Сообщений: 2
По умолчанию

Спасибо! А как переделать в процедуру с параметрами?
Juventus91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal, массивы nastya8984999 Помощь студентам 1 31.03.2009 20:12
массивы Pascal -ushёl- Помощь студентам 3 23.03.2009 06:45
Массивы в Pascal Alex XXX Помощь студентам 4 21.04.2008 02:16
Pascal. Массивы Danilyuk Помощь студентам 1 22.01.2008 19:56