Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Сортировка массива и поиск медианы в Delphi 10 Seattle

Delphi , Базы данных , Сортировка и Фильтр

Заголовок: Сортировка массива и поиск медианы в Delphi 10 Seattle

Введение: При разработке в Delphi 10 Seattle часто возникает необходимость работать с массивами данных и находить среди них медиану. Медиана - это число, которое разделяет упорядоченный набор чисел на две равные части. В данной статье мы рассмотрим, как отсортировать массив и найти медиану в Delphi 10 Seattle.

Подготовка: Для начала, убедитесь, что в вашем проекте импортирован модуль "System.Generics.Collections". Это можно сделать, добавив следующую строку кода в начале вашего файла с исходным кодом:

uses
  System.Generics.Collections;

Сортировка массива: Чтобы отсортировать массив, мы будем использовать встроенную функцию TArray.Sort<T>. Эта функция сортирует массив в порядке возрастания.

Допустим, у нас есть массив allitems с 500 элементами типа Double:

var
  allitems: array[1..500] of Double;

Чтобы отсортировать этот массив, мы можем использовать следующий код:

TArray.Sort<Double>(allitems);

Поиск медианы: После сортировки массива мы можем найти медиану. Если число элементов в массиве нечетное, медианой будет число в середине массива. Если число элементов четное, медианой будет среднее арифметическое двух чисел, расположенных по обе стороны от середины массива.

Вот функция, которая находит медиану отсортированного массива:

function Median(allitems: TArray<Double>): Double;
var
  middleIndex: Integer;
begin
  middleIndex := Length(allitems) div 2;

  if Odd(Length(allitems)) then
    Result := allitems[middleIndex]
  else
    Result := (allitems[middleIndex - 1] + allitems[middleIndex]) / 2;
end;

Теперь, чтобы найти медиану нашего отсортированного массива allitems, мы можем вызвать функцию Median следующим образом:

var
  medianValue: Double;
begin
  TArray.Sort<Double>(allitems);
  medianValue := Median(allitems);
  // Теперь мы можем использовать medianValue в нашем коде
end;

Пример: Вот полный пример кода, который создает массив, сортирует его и находит медиану:

program MedianExample;

{$APPTYPE CONSOLE}

uses
  System.Generics.Collections;

function Median(allitems: TArray<Double>): Double;
var
  middleIndex: Integer;
begin
  middleIndex := Length(allitems) div 2;

  if Odd(Length(allitems)) then
    Result := allitems[middleIndex]
  else
    Result := (allitems[middleIndex - 1] + allitems[middleIndex]) / 2;
end;

var
  allitems: array[1..500] of Double;
  medianValue: Double;
  i: Integer;
begin
  // Заполняем массив значениями
  for i := 1 to 500 do
    allitems[i] := Random(1000); // Заменяем на ваш код, который заполняет массив

  TArray.Sort<Double>(allitems);
  medianValue := Median(allitems);

  Writeln('Median of the array: ', medianValue);
  Readln;
end.

Заключение: В этой статье мы рассмотрели, как отсортировать массив чисел с плавающей точкой в Delphi 10 Seattle и найти медиану. Мы использовали встроенную функцию TArray.Sort<T> для сортировки массива и написали функцию Median для нахождения медианы отсортированного массива.

Создано по материалам из источника по ссылке.

Статья описывает, как отсортировать массив чисел с плавающей точкой в Delphi 10 Seattle и найти среди них медиану.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Сортировка и Фильтр ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:24:52/0.0053999423980713/1