IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Работа со строками, задача на работу со строками/символами
NightPaladin
сообщение 27.11.2004 16:34
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 67
Пол: Мужской

Репутация: -  0  +


Вот - очень интересует решение даной задачи.
Буквы назовем “соседями”, если они входят в какую-либо пятерку подряд идущих букв русского алфавита, например ”КЛМНО”. Назовем слово «дружественным», если слово составлено из “соседей” (буквы могут входить в слово много раз, некоторые могут отсутствовать). Например, ГАВ, БАБА - «дружественные».
Дана строка, в которой слова разделены пробелами, вывести все дружественные слова.
Пример:
Входные данные: Выходные данные:
РАЗ ДВА ТРИ ЧЕТЫРЕ ПЯТЬ ДВА
АБВГД ГДЕ ЕЖ АБВГД ГДЕ ЕЖ


--------------------
На горе лежит дискета
У неё испорчен boot
Через дырочку в конверте
Её вирусы грызут
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
NightPaladin
сообщение 28.11.2004 16:01
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 67
Пол: Мужской

Репутация: -  0  +


volvo или просто добрые люди посмотрите чё не так в коде а то глючит
Код
program asd;
Uses
CRT;
type
TWords = array[1..100] of String;
Function GetWords(s: String; Var mas: TWords): Byte;
Var i, j, p: Byte;
Begin

  Repeat
    p := Pos('  ', s);
    If p > 0 Then Delete(s, p, 1)
  Until p = 0;

  If s[1] = ' ' Then Delete(s, 1, 1);
  If s[Length(s)] = ' ' Then
    Delete(s, Length(s), 1);

  i := 0;
  Repeat
    p := Pos(' ', s); Inc(i);
    If p > 0 Then
      Begin
        mas[i] := Copy(s, 1, Pred(p)); Delete(s, 1, p) ;
      End
    Else mas[i] := s
  Until p = 0;
  GetWords := i
End;

Var

i, count: Word;
words: TWords;
a,sr : String;
f,g: byte;
q: String;
Const
s: String = ' That is   all folks ';
Begin
ClrScr;
Count := GetWords(s, words);
For i := 1 To count Do
  begin
   a:= Copy(words[i],1,1);
   sr:= Copy(words[i],Length(words[i]),1);
   f:= Chr(a);
   g:= Chr(sr);
   f:=f-g;
   If f <= 5 then   q:=q+' '+words[i];
  end;
  ReadKey;
End.


--------------------
На горе лежит дискета
У неё испорчен boot
Через дырочку в конверте
Её вирусы грызут
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 23:56
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"