Неправильно работает - Free Pascal

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

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

Дан массив строк.Из второй половины каждой строки удалить'.'
const n=3;
Type TInd=1..n;
Tar=array[TInd]of string;
var s:Tar;i:TInd;j:integer;
begin
for i:=1 to n do begin
writeln('Введите строку');
readln(s[i]);
end;
for i:=1 to n do
j:=length(s[i]) div 2+1;
while j<=(length(s[i])) do
if s[i][j]='.' then delete(s[i],j,1)
else
j:=j+1;
for i:=1 to n do
writeln(s[i]);
  readln;
end.
Удаляет точки ,только с последней строки.

Решение задачи: «Неправильно работает»

textual
Листинг программы
for i:=1 to n do
 begin
  j:=length(s[i]) div 2+1;
  while j<=(length(s[i])) do
  if s[i][j]='.' then delete(s[i],j,1)
  else j:=j+1;
 end;

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

В данном коде выполняется следующая последовательность действий:

  1. В цикле от 1 до n происходит обработка каждого элемента массива s.
  2. Внутри цикла переменная j инициализируется значением длины элемента s[i] делённой на 2 и увеличенной на 1.
  3. Затем в цикле while происходит проверка, не превышает ли значение j длину элемента s[i].
  4. Если символ в позиции j равен точке, то происходит удаление этого символа из строки s[i].
  5. Если символ не является точкой, то значение j увеличивается на 1.
  6. Цикл while повторяется до тех пор, пока значение j не станет больше или равным длине элемента s[i].
  7. После завершения цикла while, цикл for продолжается для следующего элемента массива s.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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