Решите через дано и решение! решите с дано и решением. рисунок размером 1024*1024 пикселей сохранили в виде несжатого файла размером 1 мбайт. какое количество информации было использовано для кодирования цвета пикселя (i)? каково максимальное возможное число цветов в палитре, соответствующей такой глубине цвета (n)?
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;
int main()
{
vector<int> arr;
int c;
cout <<"Введите количество элементов массива: ";
cin >>c;
char ch;
cout <<"Заполнить массив случайными числами? (y/n): ";
cin >>ch;
if((ch=='y') || (ch=='Y'))
{
cout <<"Начальный массив:" <<endl;
srand(time(0));
for(unsigned i=0; i<c; ++i)
{
arr.push_back((rand()%1001)-500);
cout <<arr[i] <<" ";
}
cout <<endl;
}
else
{
int a;
cout <<"Введите элементы массива: ";
for(unsigned i=0; i<c; ++i)
{
cin >>a;
arr.push_back(a);
}
}
cout <<"Измененный массив:" <<endl;
for(unsigned i=0; i<c; ++i)
{
arr[i]*=-1;
cout <<arr[i] <<" ";
}
cout <<endl;
return 0;
}
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function LineLen(a,b:(real,real)):=
Sqrt(Sqr(b.Item1-a.Item1)+Sqr(b.Item2-a.Item2));
begin
var a:array[1..3] of (real,real);
var x,y:real;
Writeln('Введите три пары координат x,y');
for var i:=1 to 3 do begin Read(x,y); a[i]:=(x,y) end;
Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.
Тестовое решение:
Введите три пары координат x,y
3 -3.5 -6 8 4 5.2
Периметр треугольника равен 33.7449685386805
2. Традиционное, но возможно тоже не очень понятное школьнику решение
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
type
Point=record
x,y:real
end;
function LineLen(a,b:Point):real;
begin
Result:=Sqrt(Sqr(b.x-a.x)+Sqr(b.y-a.y));
end;
var
a:array[1..3] of Point;
begin
Writeln('Введите три пары координат x,y');
for var i:=1 to 3 do Read(a[i].x,a[i].y);
Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.