1)Вычислить значение 34 элементов одномерного целочисленного массива R в интервале (-8;8)...

0 голосов
44 просмотров

1)Вычислить значение 34 элементов одномерного целочисленного массива R в интервале (-8;8) с использованием генератора случайных чисел
2)вычислить среднегармоническое значение каждых третьих элементов последней четверти массива
3)определить наименьший по модулю элемент среди четных по значению элементов второй трети массива
4)упорядочить отрицательные элементы половины массива по возростанию квадратов значиний


Информатика (19 баллов) | 44 просмотров
0

обоих половин

0

да что так много вопросов то, как написана так сделайте будьте любезны!

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

const
  n=34;
begin
  // 1
  var R:=ArrRandom(n,-8,8); R.Println;
  // 2
  var b:=R.Slice(Trunc(0.75*n)-1,3);
  Writeln('Ср.гармоническое= ',b.Count/b.Aggregate(0.0,(x,y)->x+1.0/y));
  // 3
  var m:=R.Batch(n div 3).ToArray[1].Where(x->x.IsEven).MinBy(x->abs(x));
  Writeln('Минимальный по модулю= ',m);
  // 4
  var R2:=R.Select((x,i)->(x,i)).Batch(n div 2).ToArray;
  var r21:=R2[0].Where(x->x[0]<0).OrderBy(x->sqr(x[0]));
  var ind:=r21+R2[1].Where(x->x[0]<0).OrderBy(x->sqr(x[0])).ToArray;
  var ind1:=ind.UnZipTuple;
  var aVal:=ind1[0].ToArray;
  var aInd:=ind1[1].Sorted.ToArray;
  for var i:=0 to aVal.Count-1 do R[aInd[i]]:=aVal[i];
  R.Println
end.

Пример
8 -3 2 -2 6 6 7 6 -7 -5 -4 6 2 2 1 1 -6 1 -1 -5 8 4 1 7 1 1 2 -8 -8 1 -7 1 8 -6
Ср.гармоническое= 7.07368421052631
Минимальный по модулю= 2
8 -2 2 -3 6 6 7 6 -4 -5 -6 6 2 2 1 1 -7 1 -1 -5 8 4 1 7 1 1 2 -6 -7 1 -8 1 8 -8

(150k баллов)
0

пожалуйсто

0

очень нужно

0

на паскаль abc.net умоляю вас

0

где var R2:=R.Select((x,i)->(x,i)).Batch(n div 2).ToArray;

0

говорит что после 2-go x ожидалась ) а увас ','

0

вот тут (x,i)