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

Как создать программу на Pascal для чтения строки чисел и загрузки их в массив

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

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

Проблематика

Пользователь столкнулся с задачей создания программы, которая должна считывать строку чисел, разделенных пробелами, и сохранять их в массив. Пример входных данных: в первой строке вводится количество чисел, а во второй — сами числа, разделенные пробелами, например, "1 2 3 4 5 6". Попытка использовать функцию Val не увенчалась успехом, так как в строке присутствуют пробелы, и числа могут быть многозначными, вплоть до 10^9.

Решение

Для решения данной задачи мы можем использовать следующий алгоритм:

  1. Удаляем начальные пробелы в строке.
  2. Находим первую позицию пробела в оставшейся части строки.
  3. Копируем часть строки без пробелов в отдельную строку t и удаляем эту часть из исходной строки s.
  4. Преобразуем строку t в число и сохраняем его в массив.

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

Пример кода на Object Pascal (Delphi)

program ReadNumbersFromString;
var
  S: string;
  T: string;
  P, I: integer;
  Element: array of int64;
  Count: integer;
begin
  // Ввод количества чисел
  Count := StrToIntDef(ReadLn, 0);
  // Ввод строки чисел
  S := ReadLn;

  SetLength(Element, Count);
  I := 0;

  while (Length(S) > 0) and (Pos(' ', S) > 0) do
  begin
    P := Pos(' ', S);
    T := Copy(S, 1, P - 1);
    Delete(S, 1, P);

    // Удаляем начальные пробелы
    while (Length(T) > 0) and (T[1] = ' ') do
      Delete(T, 1, 1);

    // Преобразование строки в число
    Element[I] := StrToInt64Def(T, 0);
    Inc(I);
  end;

  // Дополнительная обработка оставшейся части строки, если она не пуста
  if Length(S) > 0 then
  begin
    // Преобразование оставшейся части строки в последнее число массива
    Element[I] := StrToInt64Def(S, 0);
    Inc(I);
  end;

  // Проверка и вывод элементов массива
  for I := 0 to High(Element) do
    Writeln(Element[I]);
end.

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

Следуя diesem принципу, вы сможете создать эффективную программу на Pascal для решения поставленной задачи.

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

Программа на Pascal для чтения строки чисел и загрузки их в массив.


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

Получайте свежие новости и обновления по 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 12:42:33/0.0030639171600342/0