В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Kris15kim
Kris15kim
20.01.2023 01:47 •  Информатика

Есть автобус, в котором есть 42 места. Пользователь вводит с клавиатуры количество занятого мест в автобусе. Одно место стоит 350 тг. Программа считает сколько прибыли получит за выезд автобус, если расстояние до города 250 км, автобус тратит на 100 км 30 литров бензина и стоимость бензина 200тг. Использовать функции! C++

Показать ответ
Ответ:
Dasha1648938190
Dasha1648938190
30.05.2023 13:45

function decbin(n: int64): int64;

var k,m: int64;

    priz: boolean;

begin

 k:=1;  m:=0;

 priz:=true;

 repeat

   if (n mod 10)>1 then

   begin

     writeln('недопустимый ввод - цифра ',n mod 10);

     priz:=false;

     break;

   end;      

   m:=m+k*(n mod 10);

   n:=n div 10;

   k:=k*2;  

 until n=0;  

 if priz then decbin:=m

 else decbin:=-1;

end;

// основная программа

var n,k: int64;

begin

 repeat

   readln(n);

   if n=0 then break

   else

   begin

     k:=decbin(n);

     if k>0 then writeln('десятичное число: ',k);

   end;  

 until false;  

end.


1011100011210

недопустимый ввод - цифра 2

11101101

десятичное число: 237

11111111

десятичное число: 255

0

0,0(0 оценок)
Ответ:
Tvoyainta
Tvoyainta
30.05.2023 13:45

function binToDec(s:string):integer;

var a,d,i:integer;

begin

a:=0;

d:=1;

for i:=length(s) downto 1 do

begin

if s[i]='1' then a:=a+d;

d:=2*d;

end;

binTodec:=a;

end;

var dv: string; fl:boolean; i:integer;

begin

write('Введите двоичное число: ');

readln(dv);

while dv<>'0' do

begin

fl:=true;

for i:=1 to length(dv) do

 fl:=fl and (dv[i] in ['0','1']);

if fl then writeln(dv,'(2) = ',binToDec(dv),'(10)')

else writeln('Ошибка ввода');

write('Введите двоичное число:');

readln(dv);

end;

end.

Пример:

Введите двоичное число: 123

Ошибка ввода

Введите двоичное число:10101

10101(2) = 21(10)

Введите двоичное число:0

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