Выписать k-е слово из текста - Pascal ABC
Формулировка задачи:
Символьные переменные -Выписать k-е слово из текста.
Решение задачи: «Выписать k-е слово из текста»
textual
Листинг программы
var s,sl:string;
i,k,j:byte;
begin
writeln('Введите строку из слов, разделенных пробелами');
readln(s);
s:=' '+s+' ';//добавим пробел в начало и конец для удобства
write('Введите номер слова k=');
readln(k);
j:=0;
i:=1;
while(i<=length(s))and(j<k) do
begin
if(s[i]<>' ')and(s[i-1]=' ') then j:=j+1;//начало нового слова
if j=k then
begin
sl:='';
j:=i;
while s[j]<>' ' do
begin
sl:=sl+s[j];
j:=j+1;
end;
end
else i:=i+1;
end;
if j<k then write('В строке нет ',k,' слов')
else write('Слово номер ',k,'=',sl)
end.
Объяснение кода листинга программы
Этот код написан на языке Pascal ABC и выполняет следующие действия:
- Запрашивает у пользователя ввод строки из слов, разделенных пробелами.
- Добавляет пробелы в начало и конец строки для удобства обработки.
- Запрашивает у пользователя номер слова k.
- Инициализирует переменные j и i.
- В цикле while считывает символы из строки s до тех пор, пока i меньше длины строки и j меньше k.
- Если текущий символ в строке s не является пробелом и предыдущий символ равен пробелу, то увеличивает значение переменной j на 1.
- Если j равно k, то инициализирует переменную sl как пустую строку и устанавливает j равным i.
- В цикле while считывает символы из строки s до тех пор, пока i меньше длины строки и j меньше k.
- Если текущий символ в строке s не является пробелом, то добавляет его к переменной sl.
- Увеличивает значение переменной j на 1.
- Если j меньше k, выводит сообщение о том, что в строке нет k слов.
- Если j равно k, выводит сообщение с номером и значением переменной sl. Примечание: В данном коде используется переменная sl для хранения результата обработки слова. Переменные j и i используются для контроля обработки символов.