Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.12.2010, 21:36
-happy -happy вне форума
Прохожий
 
Регистрация: 19.12.2010
Сообщения: 4
Репутация: 10
По умолчанию Задачка со строками

я парился часа три никак не могу написать ченить путное помогите!

Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить длины самого короткого и самого длинного слов.

Дано слово. Удалить из него третью букву; К-ю букву (задается в ходе программы); первую из букв "о", если есть такая буква; последнюю из букв "т" если такаая буква есть.
Ответить с цитированием
  #2  
Старый 19.12.2010, 22:11
Димона Димона вне форума
Прохожий
 
Регистрация: 19.12.2010
Сообщения: 17
Репутация: 12
Сообщение может так

2.
Код:
var
s:string;

i,k:integer;
begin
k:=strtoint(edit1.text);
s:=memo1.Lines.text;

delete(s,3,1);
delete(s,k,1);
i:=length(s);
if s[1]='о' then delete(s,i,1);

if s[i]='т' then delete(s,i,1);
 memo1.lines.add(s);
end;
Ответить с цитированием
  #3  
Старый 19.12.2010, 22:24
Димона Димона вне форума
Прохожий
 
Регистрация: 19.12.2010
Сообщения: 17
Репутация: 12
По умолчанию эмм

1-я как-то с помощью ф-ции pos и copy
Код:
dl:=1;
while pos(' ',s)<>0 do begin
p:=pos(' ',s);
sl:=copy(s,1,p-1);
end;
if dl<length(sl) then begin
dl:=length(sl);
end;
delete(s,1,p);

Последний раз редактировалось Admin, 19.12.2010 в 22:46.
Ответить с цитированием
  #4  
Старый 19.12.2010, 23:18
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Поиск минимальной длины слова:
Код:
var i,d,min:integer;
     s:string;
...
min:=length(s);
for i:=1 to length(s) do
  begin
    if s[i]<>' ' then
    begin
      d:=d+1;
      f:=true;
    end
    else
    begin
     if (min>d) and f then
     begin
       min:=d;
       f:=false;
     end;
     d:=0;
    end;
  end;
Максимальной думаю сам напишешь.

З.Ы. Почаще читай чужие темы, я это уже писал вчера вечером.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #5  
Старый 19.12.2010, 23:38
-happy -happy вне форума
Прохожий
 
Регистрация: 19.12.2010
Сообщения: 4
Репутация: 10
По умолчанию

сбасибо большое!
впредь буду внимательнее!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025