Страница 1 из 1

кто может помоги решить

СообщениеДобавлено: 09.02.2009 20:35:39
andrey2
кто может помоги решить
пропустил два урока и не знаю этой темы
Free Pascal
1) Вывести на экран кратчайшее слово в тексте.
2) Вывести, на экран самое длинное слово в тексте.
3) Превратить текст, переставив слова текста в обратном порядке.
4) Вывести на экран букву, которая встречается чаще всего.
5) Составить программу, которая подсчитывает, какой процент каждой буквы встречается в заданном тексте.
6) Составить программу, что перед каждым словом в тексте, ставит число, ровное количеству букв в этом слове.
7) Составить программу, которая замещает в каждом слове текста последнюю букву с первой.
8)Составить программу, которая определяет сколько раз в тексте встречается каждая буква.
9) Превратить текст, заменяя знак, который повторяется несколько раз, на знак и число, которое равняется числу повторений.
Например текст<<аааббгггг>> нужно превратить на «аЗб2г4».
извините за грамматические ошибки но российской я не изучал

Re: кто может помоги решить

СообщениеДобавлено: 09.02.2009 21:04:46
Logo
Вам дать готовое решение, или подсказать как делать? :)

Как взять текст и куда его поместить, это Вы знаете?
Циклы, конструкция if then else, это известно?

То есть, какие знания уже имеете?

Re: кто может помоги решить

СообщениеДобавлено: 09.02.2009 21:12:48
andrey2
эти задачи мне нужны как примеры
а дальше буду развязывать сам, если что то не пойму то обязательно спрошу
Циклы, конструкция if then else знаю контрольную сдал на отлично

Re: кто может помоги решить

СообщениеДобавлено: 09.02.2009 21:20:31
Кирилл
А что дается на вход? файл txt? или просто строка?
Если строка, то я думаю так.
Сначала делим текст на слова. Это делаем в цикле For ищем пробелы.
For i:= 1 to length(s) do begin if s[i]:=' ' then.......
Слова можно занести в массив.
присваиваем мин:=length(вся строка);
Затем находим длину каждого слова и если оно меньше чем мин, тогда мин:=length(этого слова);
Ну, или что то вроде того.


Для 3:
Readln(s);
For i:=length(s) downto 1 do
write(s[i]);
или
s2:='';
For I:= 1 to length(s) do
s2:=s[i]+s2;
write(s2); или s:=s2; write(s);