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