laktionovapolyp0cghd
07.07.2021 21:40

Для хранения произвольного растрового изображения размером 128×320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?Для хранения произвольного растрового изображения размером 128×320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
stasikpavel
30.03.2023 21:15
Предполагается, что восьмеричное число записано, как символьная строка, поскольку максимальная разрядность не была оговорена в задании.

const
  m:array['0'..'7'] of string=
      ('000','001','010','011','100','101','110','111');
  m1:array['1'..'7'] of string=
      ('1','10','11','100','101','110','111');
var
  s8,s2:string;
  i:integer;
begin
  Write('Введите восьмеричное число: '); Readln(s8);
  s2:=m1[s8[1]];
  for i:=2 to Length(s8) do s2:=s2+m[s8[i]];
  Writeln('В двоичной системе: ',s2)
end.

Тестовое решение:
Введите восьмеричное число: 360721
В двоичной системе: 11110000111010001
0,0(0 оценок)
Ответ:
AnaisWatterson
09.09.2022 07:17
Простейший вариант программы, предполагающий, что строка записана абсолютно верно и содержит только числа, соединенные знаком "плюс".

const
  digits=['0'..'9'];
var
  s,sn:string;
  i,err:integer;
  n,sum:longint;

begin
  Write('Введите числа, соединяя их знаком плюс: ');
  Readln(s);
  i:=2; sn:=s[1]; sum:=0;
  while i<=Length(s) do begin
    if s[i] in digits then sn:=sn+s[i]
    else begin
      Val(sn,n,err);
      sum:=sum+n;
      sn:=''
    end;
    Inc(i)
  end;
  Val(sn,n,err);
  sum:=sum+n;
  Writeln('Сумма равна ',sum)
end.

Тестовое решение:
Введите числа, соединяя их знаком плюс: 21+22+3
Сумма равна 46
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота