Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2008, 18:10   #1
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию в тексте удалить слова начинающиеся с заданой буквы

ребят помогите плз, последняя прога для зачета,
в тексте удалить слова начинающиеся с заданой буквы
Все исходные данные вводить с клавиатуры.
Под словом понимать произвольную последовательность печатных символов, отличных от пробела. Все слова окружены одним пробелом.
При решении задачи максимально использовать стан-дартные средства работы со строками.
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 25.12.2008, 19:00   #2
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

ну ребят помогите
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 25.12.2008, 19:10   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Может подойдет

Код:
uses crt;
var s,sub:string;
    i,n:integer;
    a:array[1..100] of string;
    ch:char;
begin
clrscr;
writeln('Input str');
readln(s);
i:=0;n:=0;
repeat
inc(i);
if (s[i]=' ')and(s[i+1]<>' ') then begin
                   inc(n);
                   a[n]:=sub;
                   sub:='';
                   end
else if (s[i]<>' ')and(s[i]<>'.') then sub:=sub+s[i];
until i=length(s);
if sub<>'' then begin
inc(n);
a[n]:=sub;
end;
writeln;
writeln('Input char');
readln(ch);
for i:=1 to n do
 if  a[i][1]<>ch then write(a[i],' ');
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 19:11   #4
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

уууу слишком сложно можно как нить попроще?
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 25.12.2008, 19:12   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

А чего там сложного? В строке выписываем все буквы до пробела (это значит слово сформировалось), а затем проверяем первую букву слова
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 19:45   #6
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

тут массивы врод, нам с ними нельзя
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 25.12.2008, 22:04   #7
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

ну ребят помогите вам же не сложно
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 26.05.2009, 16:18   #8
LAZER
 
Аватар для LAZER
 
Регистрация: 02.03.2009
Сообщений: 8
По умолчанию

+1 тоже дали это задание на delphi =( компонент richedit
LAZER вне форума Ответить с цитированием
Старый 26.05.2009, 16:26   #9
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

нате
Код:
var
i:integer;
st:string;                             {строка  }
s:char;                                {буква   }

BEGIN
writeln('Введите строку слов:');
readln(st);
write('Введите букву: ');
readln(s);

st:=' '+st;                            {добавляем пробел в начале строки   }
repeat                       {ЦИКЛ                                    }
 i:=pos(' '+s,st);                     {ищем слово на букву s              }
 inc(i);                               {пробел не считаем                  }
 if i<>1 then                          {если слово нашли то                }
  repeat                               {цикл                               }
  write(st[i]);                        {напечатать букву найденного слова  }
  delete(st,i,1);                      {удалить эту букву                  }
  until (st[i]=' ')or(i=length(st));   {если слово кончилось то конец цикла}
 writeln;
until  i=1;                  {если больше нет найденных слов то КОНЕЦ ЦИКЛА}

writeln('st=',st);
END.
чуть чуть переделать и все!!!!
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 26.05.2009, 16:39   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот еще пример проще некуда )
Код:
   var k,s:string;i:byte;
begin        {$o-}
 s:='Ura edem na more ';
 i:=1; while i<length(s) do begin
  if (s[i]=' ') then
   if (s[i+1]='e') then begin  inc(i);
   while s[i]<>' ' do inc(i);
  end;
  k:=k+s[i];
  inc(i);
 end;
 writeln(k);
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать код заданой странички в инете. proglamer Работа с сетью в Delphi 1 28.11.2008 15:06
Удалить из второй строки те слова, которые есть в первой строке innaa639 Паскаль, Turbo Pascal, PascalABC.NET 2 26.11.2008 15:43
процедура, которая выводит все слова, начинающиеся с согласных букв латинского алфавита. sergeyfsd Паскаль, Turbo Pascal, PascalABC.NET 6 21.02.2008 22:29
В введенном предложении удалить все повторяющиеся слова Алена Помощь студентам 5 21.11.2007 14:12
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18