Ошибка времени выполнения: Индекс находится вне границ массива - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Столкнулся с ошибкой:

[Ошибка времени выполнения: Индекс находится вне границ массива]

Решение задачи: «Ошибка времени выполнения: Индекс находится вне границ массива»

textual
Листинг программы
var f: textfile; n, i: longint;
    text: string; s: char;
begin
  AssignFile(f,'file.txt');
  reset(f);
  while (not eof(f)) do
    begin
      readln(f,s);
      inc(n);
      text:=text+s
    end;
  close(f);
  
  for i:=1 to n-1 do text[i]:=Chr(ord(text[i])+3);
  write('RES: ',text);
end.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • f: textfile (объект для работы с файлом)
    • n: longint (количество строк в файле)
    • i: longint (номер текущей строки)
    • text: string (буфер для хранения строк из файла)
    • s: char (переменная для хранения текущей символа)
  2. Открывается файл 'file.txt' с помощью функции AssignFile
  3. Файл считывается построчно с помощью цикла while и функции readln до достижения конца файла (eof)
  4. Каждая строка добавляется в буфер text с помощью оператора конкатенации (+=)
  5. Файл закрывается с помощью функции close
  6. Запускается цикл for для обработки каждого символа в буфере text, начиная с 1-го и заканчивая n-1 (так как последний символ уже обработан в цикле while)
  7. В каждой итерации цикла for к символу добавляется 3 с помощью функции ord и оператора конкатенации (+=)
  8. Результат выводится на экран с помощью функции write
  9. Код завершается

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы