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

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

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

Дан массив строк.Из второй половины каждой строки удалить'.'
Листинг программы
  1. const n=3;
  2. Type TInd=1..n;
  3. Tar=array[TInd]of string;
  4. var s:Tar;i:TInd;j:integer;
  5. begin
  6. for i:=1 to n do begin
  7. writeln('Введите строку');
  8. readln(s[i]);
  9. end;
  10. for i:=1 to n do
  11. j:=length(s[i]) div 2+1;
  12. while j<=(length(s[i])) do
  13. if s[i][j]='.' then delete(s[i],j,1)
  14. else
  15. j:=j+1;
  16. for i:=1 to n do
  17. writeln(s[i]);
  18. readln;
  19. end.
Удаляет точки ,только с последней строки.

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

textual
Листинг программы
  1. for i:=1 to n do
  2.  begin
  3.   j:=length(s[i]) div 2+1;
  4.   while j<=(length(s[i])) do
  5.   if s[i][j]='.' then delete(s[i],j,1)
  6.   else j:=j+1;
  7.  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы