25.05.2022

Динамические массивы в Паскале (объявление, методы)

В этой публикации приведем программу, демонстрирующую некоторые возможности работы с динамическими массивами:

  • println
  • count
  • countof
  • where
  • sum
  • max
  • min
  • fill
  • sort
  • sortDescending
  • length
  • setLength

Для наглядности после выполнения действий будем выводить на экран массив или информацию о массиве.

Программа на языке Паскаль

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.

Результат запуска программы

Динамические массивы


Комментариев нет:

Отправить комментарий