по первому заданию:
обычно глубина цвета (не изображения) измеряется в битах.
Посмотрим сколько всего бит у нас есть:
384 килобайта = 384*1024 байт = 393216 байт
в каждом байте 8 бит, значит 393216*8 = 3145728 бит.
теперь посмотрим сколько у нас всего пикселей:
1024*768 = 786432 пикселей.
Посмотрим сколько у нас получается бит на каждый пиксел.
Разделим биты на пикселы:
3145728/786432 = 4 бита на пискел.
4 бита на пискел это 2^4 = 16 цветов.
ответ: глубина цвета изображения 4 бита или 16 цветов.
2ое задание:
Длина кода изображения равна 600 Кб, битовая глубина цвета - 16 битов. Какой размер растра используется для вывода изображения: 640х480 или 1024х768?
у нас есть 600Кб информации.
Посмотрим сколько это бит
600(килобайт)*1024(байт в килобайте)*8(бит в байте) = 4915200 бит.
У нас каждая точка(пиксел) занимает 16 бит
Значит у нас: 4915200/16 = 307200 пикселей.
Посчиатем пикселы для разных разрешений (размеров растра)
640*480=307200
1024*768 = 786432
Значит ответ: размер растра у нас 640*480. (совпадают количества пикселей)
вот код:
uses crt;
var a:array[1..10] of real;
i:integer;
begin
for i:=1 to 10 do
begin
a[i]:=random*9 - 4;
end;
for i:=3 to 7 do
begin
writeln('a[',i,']=',a[i]:0:2);
end;
writeln('Press enter');
readln;
end.
Пояснения:
у тебя в условии промежуток [4,5) означает что 5 нельзя включать (скорее всего ошибка).
Есл это не ошибка переписывания условия , то добавляется еще одна линия, и программа получается:
uses crt;
var a:array[1..10] of real;
i:integer;
begin
randomize;
for i:=1 to 10 do
begin
a[i]:=random*9 - 4;
if(a[i]=5) then a[i]:=4.9999;
end;
for i:=3 to 7 do
begin
writeln('a[',i,']=',a[i]:0:2);
end;
writeln('Press enter');
readln;
end.
Обрати внимание, я еще добавил randomize; команду - она гарантирует, что случайные числа будут именно случайными
#include <iostream>
#include <math.h>
#include <locale.h>
#include <Windows.h>
#include <conio.h>
using namespace std;
const int MaxChildren = 3;
const int MaxAdults = 5;
void main()
{
setlocale(LC_ALL, "Russian");
bool h[9] = {1,0,0,0,0,0,0,0,0};
int age, nomber;
char dir = 'a';
int children = 0, adults = 0;
ret:
age = 0;
while (age <= 5 || age >= 151)
{
system("cls");
cout << "Укажите вашь возраст(от 6 до 150): ";
cin >> age;
}
if (children >= MaxChildren && adults >= MaxAdults) {
cout << '\n' << "Мест нет.";
Sleep(1000);
system("cls");
goto kkol;
}
if (age <= 12) {
if (children >= MaxChildren) {
cout << '\n' << "Детские места закончились.";
Sleep(1000);
system("cls");
goto ret;
}
}
if (age > 12) {
if (adults >= MaxAdults) {
cout << '\n' << "Взрослые места закончились.";
Sleep(1000);
system("cls");
goto ret;
}
}
non:
cout << '\n' << "Свободные места: ";
cout << '\n' << "Детские: " << MaxChildren - children;
cout << '\n' << "Взрослые: " << MaxAdults - adults;
for (int i = 1; i < 9; i++)
{
if (h[i] == false) { cout << '\n' << i; }
}
cout << '\n' << "Выберите место (1-8): ";
cin >> nomber;
if (h[nomber] == true) {
cout << '\n' << "Место занято, возьмите другое.";
Sleep(1000);
system("cls");
goto non;
}
h[nomber] = true;
if (age > 12) { adults++; }
else { children++; }
Sleep(1000);
system("cls");
cout << "Нажмите Enter, чтобы продолжить.";
dir = _getche();
if (dir == '\r') { goto ret; }
kkol:
cout << " ";
}