Предмет: Информатика,
автор: AZIK22323
1)Вычислить значение 34 элементов одномерного целочисленного массива R в интервале (-8;8) с использованием генератора случайных чисел
2)вычислить среднегармоническое значение каждых третьих элементов последней четверти массива
3)определить наименьший по модулю элемент среди четных по значению элементов второй трети массива
4)упорядочить отрицательные элементы половины массива по возростанию квадратов значиний
Ответы
Автор ответа:
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
// Внимание! Если программа не работает, обновите версию!
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
Автор ответа:
0
где var R2:=R.Select((x,i)->(x,i)).Batch(n div 2).ToArray;
Автор ответа:
0
говорит что после 2-go x ожидалась ) а увас ','
Автор ответа:
0
вот тут (x,i)
Автор ответа:
0
Еще раз: установите УКАЗАННУЮ ВЕРСИЮ или более старшую! Работа программы проверена и приведены реальные результаты.
Автор ответа:
0
Только что еще раз скопировал отсюда программу, запустил - все прекрасно работает
Интересные вопросы
Предмет: Қазақ тiлi,
автор: zhadenova345
Предмет: Литература,
автор: yamayka98
Предмет: Химия,
автор: lamecirina
Предмет: Математика,
автор: 081979elena
Предмет: Биология,
автор: islammanapov200