В этой публикации приведем программу, демонстрирующую некоторые возможности работы с динамическими массивами:
|
|
Для наглядности после выполнения действий будем выводить на экран массив или информацию о массиве.
Программа на языке Паскаль
var a,b:array of integer; //a и b массивы целых чисел
k:integer;
begin
a:=new integer[20]; //выделение памяти из 20 ячеек, нумерация ячеек с 0
println(a); //вывод массива на экран в виде списка
a.Println; //вывод значений массива
for k:=0 to a.Length-1 do //a.length - возвращает длину массива
a[k]:=1+k*10;
println(a);
a.Where(k->k>100).Println; //вывод значений массива более 100
a.CountOf(81).Println; //подсчет и вывод количества значений массива, равных 81
a.Count(k->k mod 11=0).Println; //подсчет и вывод количества значений массива, кратных 11
a.Where(k->(k mod 3=0)or(k mod 11=0)).Println; //вывод значений массива, кратных 3
a.Sum.Println; //подсчет и вывод суммы значений массива
a.Where(k->k mod 3=0).Sum.Println; //подсчет и вывод суммы значений массива, кратных 3
a[0:5].println; //вывод среза массива с 0 по 4 индексы
b:=a[:4]; //срез от начала массива до индекса 3
b.println;
b:=a[5:]; //срез от 5 индекса до конца массива
b.println;
a.Max.println; //максимум
a.Min.Println; //минимум
a.SortDescending; //сортировка массива по убыванию
a.Println;
a.Sort(); //сортировка массива по возрастанию
a.Println;
setlength(a,a.length-18);//уменьшение длины массива на 18 ячеек
a.Println;
a.Fill(2); //заполнение массива значениями 2
a.Println;
end.
Результат запуска программы
Комментариев нет:
Отправить комментарий