После каждого слова вставить его порядковый номер через insert - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста решить задачу:
Даны слова в предложении, после каждого слова вставить его порядковый номер через insert.
Решение задачи: «После каждого слова вставить его порядковый номер через insert»
textual
Листинг программы
var s,ss:string; i,a,d:integer; begin writeln('vvedite stroku'); readln(s); if (s[length(s)]<>' ') and (s[length(s)]<>'.') then s:=s+' '; a:=0; i:=1; d:=length(s); while i<=d do begin if (s[i]=' ') or (s[i]='.') then begin inc(a); str(a,ss); insert(ss,s,i); if i<10 then begin inc(i); inc(d); end else begin i:=i+2; d:=d+2; end; end; inc(i); end; writeln('poluchennaja stroka'); writeln(s); readln; end.
Объяснение кода листинга программы
- В первой строке запрашивается ввод строки.
- Строка вводится в переменную s.
- Проверяется, состоит ли строка только из букв и пробелов. Если нет, то к строке добавляются пробелы до тех пор, пока условие не будет выполнено.
- Инициализируются три переменные: a, i и d. Переменная a отвечает за количество вхождений слова в строке, переменная i отвечает за номер текущего символа в строке, а переменная d отвечает за длину строки.
- Запускается цикл while, который выполняется до тех пор, пока i меньше или равно d.
- Внутри цикла проверяется, является ли текущий символ пробелом или точкой. Если это так, то увеличиваются значения переменных a и i, а затем к строке s добавляется пробел или точка и текущий символ.
- Если значение i меньше 10, то увеличивается значение i и d, чтобы перейти к следующему слову.
- Если значение i больше или равно 10, то увеличивается только значение i, а значение d остается неизменным.
- После завершения цикла выводится исходная строка.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д