Неправильно работает - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д