М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Nastya2oo3
Nastya2oo3
11.11.2020 10:37 •  Информатика

Задача по C++, циклы В кинотеатре есть 8 мест, 5 взрослых и 3 детских.
При входе человек указывает свой возраст и бронирует билет(до 12-детский, 12+ взрослый), программа должна вывести какой номер места. Если билеты заканчиваются, программа должна вывести "мест нет".


Задача по C++, циклы В кинотеатре есть 8 мест, 5 взрослых и 3 детских.  При входе человек указывает

👇
Ответ:
Qwtyt
Qwtyt
11.11.2020

#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 << " ";

}

4,5(78 оценок)
Открыть все ответы
Ответ:
Пепечка
Пепечка
11.11.2020

по первому заданию:

 

обычно глубина цвета (не изображения) измеряется в битах.

Посмотрим сколько всего бит у нас есть:

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. (совпадают количества пикселей)

4,6(61 оценок)
Ответ:
VIDJER
VIDJER
11.11.2020

вот код:

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; команду - она гарантирует, что случайные числа будут именно случайными


Саставце программу, которая формирует массив из 10 случайных вещественных чисел, что лежат в промежу
4,7(38 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ