задача со строками |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
задача со строками |
Кристина |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Репутация: 0 |
Опять преподы закидали , помогите
1. Текст задан строкой var St: string; Напечатать все слова, удалив из них все предыдущие вхождения последней буквы каждого слова. 2. Написать функцию function Test(word:string): boolean принимающую значение True, если количество руских букв в строке превосходит количество латинских. |
BlackShadow |
Сообщение
#2
|
Гость |
2).
Код Function Test(Word:String):Boolean; Var i,r,e:Integer; Begin r:=0; e:=0; For i:=1 To Length(s) Do Case s[i] Of 'а'..'п','р'..'я','А'..'П','Р'..'Я':Inc®; 'a'..'z','A'..'Z':Inc(e) End; Test:=r>e End; Сообщение отредактировано: BlackShadow - |
APAL |
Сообщение
#3
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
® - это ( r ) без пробелов
-------------------- |
Кристина |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Репутация: 0 |
А первую совсем ни как???
|
BlackShadow |
Сообщение
#5
|
Гость |
1). Я так понял надо из слов удалять последние буквы предыдущих слов.
Тогда примерно так: Код Const Separators:Set Of Char = [' ',',','.','!','?',';']; {Добавишь чего, если захочешь} Var s:String; i,j:Integer; Begin Write('Enter String: '); ReadLn(s); While s<>'' Do Begin While (s<>'') And (s[1] In Separators) Do Delete(s,1,1); If s='' Then Break; i:=2; While (i<=Length(s)) And (Not(s[i] In Separators)) Do Inc(i); If i>Length(s) Then Begin WriteLn(s); Break End; j:=i+1; While j<=Length(s) Do If s[j]=s[i-1] Then Delete(s,j,1) Else Inc(j) WriteLn(Copy(s,1,i-1)); Delete(s,1,i) End End. Или что-то похожее... |
Текстовая версия | 20.04.2024 21:23 |