Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 21.10.2020, 17:26   #1 (permalink)
Dhon
Новичок
 
Регистрация: 21.10.2020
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Работа с битами. Массивы

Не понимаю, как решить эту задачу. Помогите пожалуйста!

Ввести последовательность из 8 символов. Если символ есть + - * / %, то заменить в нём четыре младших бита единицами, иначе – заменить 5-й бит нулем. Вывести исходную и преобразованную последовательности в символьной и восьмеричной формах
Dhon вне форума   Ответить с цитированием

Старый 21.10.2020, 17:26
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я уверен, что данный список должен вам помочь

Массивы
Массивы
Массивы
Массивы

Старый 22.10.2020, 00:14   #2 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

Pascal:

Код:
const cf:string='0123456789ABCDEF';
var m:array[1..8] of char;
    i,n,d,b:word;
    a:char;
    c:set of char;
    s,st:string;
begin
  c:=['+','-','*','/','%'];
  b:=15; d:=239; st:='';
  for i:=1 to 8 do Readln(m[i]);
  Writeln;
  for i:=1 to 8 do Write(m[i]:3);
  Writeln;
  for i:=1 to 8 do
   begin
    s:=''; n:=Ord(m[i]);
    while n>0 do
     begin
      s:=cf[n mod 8+1]+s;
      n:=n div 8;
     end;
    st:=st+'  '+s;
   end;
  Writeln(st);
  Writeln;
  for i:=1 to 8 do
   begin
     if m[i] in c
      then
       begin
        n:=Ord(m[i]) or b; m[i]:=Chr(n)
       end
      else
       begin
        n:=Ord(m[i]) and d; m[i]:=Chr(n)
       end;
   end;
  for i:=1 to 8 do Write(m[i]:3);
  Writeln;
  st:='';
  for i:=1 to 8 do
   begin
    s:=''; n:=Ord(m[i]);
    while n>0 do
     begin
      s:=cf[n mod 8+1]+s;
      n:=n div 8;
     end;
    st:=st+'  '+s;
   end;
  Writeln(st);
  Readln;
end.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:51.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.