bodajkunasta
22.01.2023 06:52

Два вектора a и b заданы в трёхмерном пространстве своими координатами. Найти скалярное произведение векторов и модуль вектора a . Указать количество отрицательных компонентов вектора b . Заменить их нулями.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Foreveralone321
16.02.2022 22:42
1. Задача решается с стека (алгоритм Дейкстры для обработки обратной польской записи). Предполагается, что во вводимой строке содержится корректное выражение, удовлетворяющее условиям задания.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadlnString.ToWords;
  var St:=new Stack <integer>;
  var r:=0;
  foreach var t in w do
    if t[1].IsDigit then St.Push(t.ToInteger)
    else begin
      var a:=St.Pop;
      var b:=St.Pop;
      case t[1] of
      '+':St.Push(a+b);
      '-':St.Push(b-a);
      '*':St.Push(a*b)
      end;
    end;
  Writeln(St.Pop) 
end.

Контрольный пример
8 9 + 1 7 - *
-102

2. Задача крайне просто решается при регулярного выражения с рекурсией. Фактически вводить количество шаров не нужно, поэтому после ввода оно отбрасывается.

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln(ReadlnString.ToWords.Skip(1).JoinIntoString('').
      MatchValue('(.)\1{2,}').Length);
end.

Контрольный пример
5 2 3 3 3 1
3
0,0(0 оценок)
Ответ:
yana14102004
05.07.2021 17:02
// PascalABC.NET 3.3, сборка 1562 от 02.11.2017
// Внимание! Если программа не работает, обновите версию!

procedure ЗаменаЦифры(Исходное,Заменяющее:int64; var Результат:string);
begin
  var ИсхСтрока:=Исходное.ToString;
  var ЗамСтрока:=Заменяющее.ToString;
  Результат:=ИсхСтрока.Replace(ИсхСтрока.ToCharArray.Max,ЗамСтрока)
end;

begin
  var КоличествоЧисел:=ReadInteger('Введите количество чисел для обработки:');
  var ОчередноеИсходное,ОчередноеЗаменяющее:int64;
  var РезультатЗамены:string;
  Loop КоличествоЧисел do begin
    Write('Введите исходное целое число: '); Read(Очередноеисходное);
    Write('Введите целое число для замены: '); Read(ОчередноеЗаменяющее);
    ЗаменаЦифры(ОчередноеИсходное,ОчередноеЗаменяющее,РезультатЗамены);
    Writeln('Результат замены: ',РезультатЗамены)
    end
end.

Пример
Введите количество чисел для обработки: 5
Введите исходное целое число: 15630
Введите целое число для замены: 8
Результат замены: 15830
Введите исходное целое число: 235235
Введите целое число для замены: 11
Результат замены: 23112311
Введите исходное целое число: 6
Введите целое число для замены: 352
Результат замены: 352
Введите исходное целое число: 999
Введите целое число для замены: 88
Результат замены: 888888
Введите исходное целое число: 12307347740
Введите целое число для замены: 131313
Результат замены: 12301313133413131313131340
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота