Неправильно работает - 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 до n происходит обработка каждого элемента массива s.
- Внутри цикла переменная j инициализируется значением длины элемента s[i] делённой на 2 и увеличенной на 1.
- Затем в цикле while происходит проверка, не превышает ли значение j длину элемента s[i].
- Если символ в позиции j равен точке, то происходит удаление этого символа из строки s[i].
- Если символ не является точкой, то значение j увеличивается на 1.
- Цикл while повторяется до тех пор, пока значение j не станет больше или равным длине элемента s[i].
- После завершения цикла while, цикл for продолжается для следующего элемента массива s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д