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

Преобразование строки чисел в массив целых чисел в Delphi и Pascal

Delphi , Синтаксис , Массивы

Преобразование строки чисел в массив целых чисел является распространенной задачей в программировании, особенно когда работаете с данными, представленными в виде строк. В языке программирования Pascal, который используется в среде разработки Delphi, для решения этой задачи можно использовать несколько подходов. Ниже представлены два метода, которые позволяют преобразовать строку чисел, например, '21354561321535613', в массив целых чисел:

  1. Использование функции StrToInt для преобразования каждого символа строки в целое число.
  2. Использование функции Ord, чтобы получить числовое представление каждого символа, вычитая числовое представление символа '0'.

Пример кода с использованием StrToInt

program ConvertStringToArray;
{$APPTYPE CONSOLE}
uses
  System.SysUtils;

var
  Str: string;
  Arr: array of Integer;
  i, Len: Integer;
begin
  Str := '21354561321535613';
  Len := Length(Str);
  SetLength(Arr, Len);

  for i := 1 to Len do
    Arr[i - 1] := StrToInt(Str[i:i]);

  // Вывод массива на экран
  for i := Low(Arr) to High(Arr) do
    Write(Arr[i], ' ');
  Writeln;
  Readln;
end.

Пример кода с использованием Ord

program ConvertStringToArrayUsingOrd;
{$APPTYPE CONSOLE}

var
  S: string;
  A: array of Integer;
  I, Len: Integer;
begin
  S := '21354561321535613';
  Len := Length(S);

  // Зарезервировать место для Len целых чисел.
  SetLength(A, Len);

  // Конвертация каждого символа в целое число:
  for I := 1 to Len do
    A[I - 1] := Ord(S[I]) - Ord('0'); // [I - 1] так как массив нулевой индексации.

  // Вывод массива на экран
  for i := Low(A) to High(A) do
    Write(A[i], ' ');
  Writeln;
  Readln;
end.

Оба примера демонстрируют, как можно преобразовать строку чисел в массив целых чисел в Pascal, используя стандартные функции языка. Первый метод проще в понимании, но он делает лишнюю работу, пытаясь преобразовать символы разделителя (например, пробелы или знаки пунктуации, если они есть в строке), что приводит к неудаче. Второй метод более элегантный и требует только вычитания кодов символов цифр от кода символа '0'.

Также стоит отметить, что массивы в Pascal могут быть нулевого или любого другого индекса, но динамические массивы (объявленные как переменные или типы) всегда начинаются с нуля. Это важно учитывать при работе с массивами в вашем коде.

Для больших чисел, когда стандартные типы целых чисел не могут удовлетворить требования, можно использовать реализацию больших чисел, например, библиотеку Velthuis.BigIntegers.pas, которая позволяет работать с очень большими числами, включая факториалы больших чисел, как 100!

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

Преобразование строки чисел в массив целых чисел - это задача, которая решается в языке программирования Pascal с использованием функций `StrToInt` и `Ord` для обработки каждого символа строки.


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

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




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


:: Главная :: Массивы ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-03-14 10:06:32/0.0035240650177002/0