бракус11
19.07.2021 21:11

11.Скласты программу для нахождения наибольшего из трех чисел, используя функцию пользователя max_number для нахождения наибольшего из двух чисел. Проверка: если ввести числа 5, 17 и 2, то максимальным числом будет 17.
Создать функцию пользователя absolute для нахождения модуля числа, не используя стандартную функцию abs или fabs. Результатом выполнения функции должно быть действительное число. В качестве параметра функции передается также действительное число
Программирование cc++

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
irina567890
05.05.2021 22:45
//Pascal ABC.NET 3.1 сборка 1256

Var
 s,s1:string;
begin
readln(s);
if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
while pos(' в ',s)<>0 do
 begin
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
  s1:=s1+copy(s,1,pos(' в ',s)-1)+' на ';
  delete(s,1,pos(' в ',s)+2);
 end;
  if (s[1]='в') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='на'+s;
 end;
if (s[1]='В') and (s[2]=' ') then
 begin
  delete(s,1,1);
  s:='На'+s;
 end;
s:=s1+s;
writeln(s);
end.

Пример ввода 1:
запасти в зиму, приехать в год, приготовить в день, выпить лекарство в ночь
Пример вывода 1:
запасти на зиму, приехать на год, приготовить на день, выпить лекарство на ночь

Пример ввода 2(глубокие песни современной отечественной эстрады):
В в в в в в в в в в в в в в в в в в н.
Пример вывода 2:
На на на на на на на на на на на на на на на на на на н.
0,0(0 оценок)
Ответ:
Lera111katy
07.04.2020 05:58
Описание алгоритма:
Будем наращивать длину последовательности от 0 знаков до N. Пусть после какого-то количества шагов у нас выписаны все последовательности длины А и мы хотим узнать количество подходящих последовательностей длины А+1. Распределим все последовательности на три группы(так как предыдущие символы нас не волнуют, то любые последовательности одной группы для нас равнозначны):
1) Заканчиваются на 0.
2) Ровно на одну единицу
3) Ровно на две единицы.
Из каждой последовательности группы 1 приписыванием нуля или единицы мы можем получить одну последовательность группы 1 и одну - группы 2. Неважно, какие именно, но они не перекрываются, т.к. предыдущие символы различны, хоть мы их и не учитываем. Точно так же из второй группы мы получаем одну последовательность группы 3 и одну группы 1, а из группы 3 - только группу 1. Таким образом, если количества последовательностей длины А по группам были (x, y, z), то для длины А+1 такое распределение будет (x+y+z, x, y). Если взять для длины 0 тройку (0, 0, 1) и просчитать тройки от 1 до N, получится искомое количество. Для N=1 и N=2 также работает правильно.
Программа на Pascal:

var num00,num01,num11,mem00:integer;
    n,i:byte;
begin
readln(n);
  num00:=1;
  for i:=1 to n do begin
    mem00:=num11;
    num11:=num01;
    num01:=num00;
    num00:=num01+num11+mem00;
  end;
writeln(num11+num01+num00);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота