October 9, 2022
Как заполнить массив арифметической прогрессией
В PascalABC.NET существует множество способов заполнить массив арифметический прогрессией
1 3 5 7 9 11 13 15 17 19
Способ 1. В цикле - как в старом Паскале:
var a := new integer[10]; for var i:=0 to a.Length-1 do a[i] := i*2 + 1;
Способ 2. С помощью функции ArrGen с явной формулой, задаваемой в виде лямбды:
var a := ArrGen(10,i → i*2 + 1);
Способ 3. С помощью модификации функции ArrGen, где передается первый элемент и формула получения следующего элемента по предыдущему:
var a := ArrGen(10,1,i → i + 2);
Способ 4. С помощью операции .. диапазона с методом Step. Поскольку таким образом генерируется последовательность, следует преобразовывать её назад к массиву методом ToArray:
var a := (1..20).Step(2).ToArray;
Способ 5. С помощью функции Range с параметром-шагом:
var a := Range(1,20,2).ToArray;