Задача 2. Найти в строке слово максимальной длины.
Var s:string;
Function maxsl(s:string):string;
Var max:string;
Begin s:=s+’ ‘;
Max:=length(copy(s,1,pos(‘ ‘,s)-1)); {в max помещаем первое слово в строке}
Delete(s,1,pos(‘ ‘,s); {удаляем его}
While pos(‘ ‘,s)>0 do
Begin if length(copy(s,1,pos(‘ ‘,s)-1))> max then max:= length(copy(s,1,pos(‘ ‘,s)-1)); {обрабатываем слово в соответствии с условием задачи}
Delete(s,1,pos(‘ ‘,s)); {удаляем обработанное слово}
{в цикле переходим к обработке следующего слова}
End;
Maxsl:=max;
End;
Begin writeln(‘input s’);
Readln(s);
Writeln(maxsl(s))
End.
Замечание: В задаче использовалась правильная строка. В противном случае надо ее привести к этому виду, удалив лишние пробелы (решение см. выше) и оформив это в виде процедуры. Лучше эту процедуру включить в свой модуль.
1. Дана строка символов. Подсчитать количество слов в строке. Оформить в виде процедуры или функции.
2. Дана строка символов. Найти слово максимальной длины. Оформить в виде процедуры или функции.
3. Дана строка символов. Найти слово минимальной длины. Оформить в виде процедуры или функции.
4. Дана строка символов. Удалить из строки все слова, начинающиеся на "pro". Оформить в виде процедуры или функции.
|
|
5. Дана строка символов. Удалить из строки все символы цифр. Оформить в виде процедуры или функции.
6. Дана строка символов. Удалить из нее текст, заключенный в {}. Считать, что такое сочетание встречается в строке только один раз.
7. Дана строка символов. Определить, есть ли в ней слова, начинающиеся и оканчивающиеся на одну и ту же букву. Оформить в виде процедуры или функции.
8. Дана строка символов. Определить есть ли в ней слова-палиндромы. Оформить в виде процедуры или функции.
9. Дана строка символов. Заменить символы "I", "2", "3" словами "один", "два", "три". Оформить в виде процедуры или функции.
10. Написать процедуру, которая вставляет указанный символ после указанной позиции.
11. Написать функцию, определяющую вхождение данного элемента в строку.
12. Определить сколько раз GOTO встречается в строке. Оформить в виде процедуры или функции.
13. Строка символов состоит из латинских букв. Расположить их по алфавиту. Оформить в виде процедуры или функции.
14. Найти в строке все слова-палиндромы. Оформить в виде процедуры или функции.
15. Определить есть ли в строке одинаковые слова. Оформить в виде процедуры или функции.
16. Удалить из строки все четные слова. Оформить в виде процедуры.
17. Дана строка символов. Удалить из строки все нецифровые символы. Оформить в виде процедуры или функции.
18. Дана строка символов. Определить, сколько различных символов в строке.