|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
21.10.2020, 17:26 | #1 (permalink) |
Новичок
Регистрация: 21.10.2020
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Работа с битами. Массивы
Ввести последовательность из 8 символов. Если символ есть + - * / %, то заменить в нём четыре младших бита единицами, иначе – заменить 5-й бит нулем. Вывести исходную и преобразованную последовательности в символьной и восьмеричной формах |
21.10.2020, 17:26 | |
Helpmaster
Member
Регистрация: 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
|
Опции темы | |
Опции просмотра | |
|
|