Регистрация
Войти
Стать экспертом Правила
Информатика

В одномерном массиве, состоящем из n вещественных элементов, вычислить:1. Номер минимального по модулю элемента массива.2. Сумму модулей элементов массива, расположенных после первого отрицательного элемента.3. Сжать массив, удалив из него элементы, величина которых находится в интервале [a, b]. Освободившиеся в конце массива элементы заполнить нулями.

ОТВЕТЫ



begin
  var n:=ReadInteger('n=');
  var v:=SeqRandom(n,-99,99).Select(t->0.1*t).ToArray;
  v.Println;
  var imin:=v.Select(t->Abs(t)).ToArray.IndexMin;
  Writeln('Номер минимального по модулю элемента- ',imin+1);
  var fn:=v.Select((x,i)->(x,i)).Where(t->t[0]<0).First[1];
  Writeln('Сумма модулей элементов после первого отрицательного равна ',
      v[fn+1:].Sum(t->Abs(t)));
  var (a,b):=ReadReal2('Введите границы интервала значений для удаления:');
  v:=v.Where(t->not t.Between(a,b)).ToArray;
  var m:=n-v.Length;
  if n>0 then begin
    SetLength(v,n);
    for var i:=v.Length to n-1 do v[i]:=0.0
    end;
  v.Println
end.


n= 15
-9.4 3.9 6.2 -2.5 -5.2 9 4.9 -9.5 4.4 2.4 -8.8 3.1 -7.7 5.6 8.9
Номер минимального по модулю элемента- 10
Сумма модулей элементов после первого отрицательного равна 82.1
Введите границы интервала значений для удаления: -20 2
3.9 6.2 9 4.9 4.4 2.4 3.1 5.6 8.9 0 0 0 0 0 0
849
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам