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