Coolgirl03
28.03.2021 07:48

Написать программу на паскале (максимально просто)дан массив из n элементов. к найти сумму элементов наибольшей возрастающей последовательности подряд идущих элементов массива.например: (1 15) (3 14 21 36 71) 2 найти их сумму, какая будет больше, ту и вывести, последовательность, должна быть возрастающей и в ней должно быть наибольшее количество элементов.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
yukodraw
23.01.2021 22:02
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

type
  fraction=class
 
  private
 
  class function GCD(a,b:BigInteger):BigInteger;
  begin
    while b<>0 do (a,b):=(b,a mod b);
    Result:=a
    end;
 
  public
 
  numerator:BigInteger;
  denominator:BigInteger;
 
  constructor Create(num:BigInteger:=0; denom:BigInteger:=1);
    begin
    var n:=GCD(num,denom);
    numerator:=num div n;
    denominator:=denom div n
    end;
 
  class function operator +(a,b:fraction):fraction;
    begin
    var n:=GCD(a.denominator,b.denominator);
    Result:=new fraction(a.numerator*(b.denominator div n)+
        b.numerator*(a.denominator div n),a.denominator div n*b.denominator);
    end;
  end;
    
  function Print(Self:fraction; s:string:=' '):fraction; extensionmethod;
  begin
    Result:=Self;
    if Self.denominator=1 then Write(Self.numerator,s)
    else Write(Self.numerator,'/',Self.denominator,s)
  end;
 
  function Read:fraction;
  begin
    var s:=ReadlnString('Введите через пробел числитель и знаменатель:');
    var w:=s.ToWords;
    Result:=new fraction(BigInteger.Parse(w[0]),BigInteger.Parse(w[1]))
  end;
 
begin
  var a:=Read;
  var b:=Read;
  (a+b).Print
end.

Примеры
Введите через пробел числитель и знаменатель: 1 2
Введите через пробел числитель и знаменатель: 5 130
7/13

Введите через пробел числитель и знаменатель: 132 65
Введите через пробел числитель и знаменатель: 1325 345
26333/4485

Введите через пробел числитель и знаменатель: 1231234450435679092 234535650234953469825
Введите через пробел числитель и знаменатель: 234346623432456207645 2345893524353652
2617268599782944014855731813763449145529/26199793481726210718128032276692900
0,0(0 оценок)
Ответ:
Eennoottt
22.07.2021 02:20
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var s:=a.IndexesOf(x->x mod 10=0);
  if s.Count=0 then Writeln('Нет элементов, оканчивающихся на 0')
  else begin
    Write('Номера элементов, оканчивающихся на 0: ');
    s.Select(i->i+1).Println
    end
end.

Примеры
n= 12
-41 46 29 -13 -43 -21 48 43 41 -48 -19 -44
Нет элементов, оканчивающихся на 0

n= 16
37 -48 39 32 -6 21 -48 34 6 12 -10 -15 40 -36 46 26
Номера элементов, оканчивающихся на 0: 11 13
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота