Dima0704
10.08.2021 03:38

Решить олимпиадную , надо и как можно быстрее.арлекино нужно сохранить в памяти компьютера растровое изображение размером 2048 на 1536 пикселей. изначально он попробовал сохранять изображение, применяя простой вариант а): в памяти сохранялись коды цветов каждого пикселя с использованием 24-х битной цветовой модели rgb. сжатия не производилось, и никакой дополнительной информации не хранилось.поняв, что при таком изображение занимает слишком много памяти, арлекино решил проанализировать цвета пикселей и обнаружил следующую закономерность: если разбить изображение на непересекающиеся квадраты, размером 256 на 256 пикселей каждый, то максимальное количество различных цветов, которое может встретиться в одном из квадратов, равно 1024. если же разбить изображение на непересекающиеся квадраты, размером 128 на 128 пикселей каждый, то максимальное количество различных цветов, которое может встретиться в одном из квадратов, равно 512. тогда арлекино решил применить следующий записи: 1. разбить изображение на непересекающиеся квадраты, размером n на n пикселей.2. сохранить для каждого квадрата независимо коды цветов его пикселей, используя для их кодирования минимальновозможное одинаковое для всех пикселей всех квадратов количество бит, рассчитанное исходя из того, какоемаксимальное количество цветов к может встретиться в каком-либо из получившихся квадратов.3. после каждого квадрата записать его кодовую таблицу – последовательность из k 24-х битных кодов. размеры кодовых таблиц, записываемых после каждого квадрата, одинаковые, даже если в конкретном квадрате встречаетсяменьше чем к цветов.4. никакой дополнительной информации не записывается.арлекино применил новый разбив изображение на квадраты, размером 256 на 256 пикселей (вариант б) иразмером 128 на 128 пикселей (вариант в). определите, в каком из вариантов получится меньший объем занимаемой изображением памяти. в ответе укажите сначала букву, обозначающую вариант, а затем через пробел целое число – объем занимаемой изображением памяти в кбайт (1 кбайт=1024 байта).

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
9827816
19.01.2021 03:45

#include <iostream>

int main() {

using namespace std;

setlocale(LC_ALL, "Russian");

int N;

cout << "Введите размерность массива: ";

cin >> N;

int* A = new int[N];

for (int i = 0; i < N; i++)

{

 cout << "Заполните [" << i + 1 << "] элемент: ";

 cin >> A[i];

}

cout << endl;

for (int i = 0; i < N; i++)

{

 cout << A[i] << " ";

}

int max_index = 0;

for (int i = 1; i < N; i++)

{

 if (A[i] > A[max_index]) {

  max_index = i;

 }

}

cout << "\nНомер локального максимума: " << max_index + 1;

return 0;

}

0,0(0 оценок)
Ответ:
Секретик321321
19.01.2021 03:45

program p1;

uses crt;   вывод окошка

const N = 30;

var a: array [1..N] of integer;

i, max, max2 :integer;

begin

 

 for i:=1 to N do begin  вывод элементов массива с рандома

a[i]:=  random (100);

 write( a[i]:4);

 end;

         writeln;

   max:= a[1];  принимаем первый элемент массива за макс

   max2:= a[1];  принимаем первый элемент массива за макс

   

  for i:=1 to N do begin              находим первый max                                                                  

    if  max<a[i] then

      max:= a[i];

      end;

       

      for i:=1 to N do begin                            находим второй max2

        if (max2<a[i]) and ( a[i]<> max) then

         max2:= a[i];

         end;

         

         writeln('max=',max);

         writeln('max2=',max2);

         end.

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