Помощь - Поиск - Пользователи - Календарь
Полная версия: string
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
smith
12. Дана строка s, содержащая менее чем 256 символов и представляющая собой набор слов, разделенных одним или несколькими пробелами. Найти любое слово в исходной последовательности символов, начинающееся с комбинации букв но. Использовать стандартные процедуры и функции в действиях над строками.

need help)
smith
очень прошу помочь))
завтра надо сдавать.
от работы будет зависеть, буду ли я сдавать экзамен, или получу автомат.
Прошу, помогите!)
Client
uses crt;
var
   s,s1:string;
   a:array [1..30] of string[20];
   i,p:byte;
begin
     clrscr;
     readln(s);
     s1:=s;
     i:=1;
     while pos('  ',s1)>0 do begin
           delete(s1,pos('  ',s1),1);
     end;
     if s[1]=' ' then delete(s1,1,1);
     if s[ length(s1)] <> ' ' then  s1:=s1+' ';
     i:=0;
     repeat
           p:=pos(' ',s1);
           if p>0 then begin
              inc(i);
              a[i]:=copy (s1,1,p-1);
              delete(s1,1,p);
           end;
     until p=0;
     for i:=1 to i do if copy(a[i],1,2) = 'no' then  writeln(a[i]);
     readkey
end.
Вроде ничего не забыл
Цитата
получу автомат
И пойдешь служить? Автоматчик lol.gif
volvo
Бррр....

Что-то больно много переменных smile.gif

Поскольку задачи сохранять выделенные из строки слова не стояло, то доп. переменные не нужны. А если показать вот такое решение преподавателю:
var s: string;
begin
  s := '  begin  end nothing     nowhere   eee';

  s := s + ' ';
  repeat
    s := copy(s, pos(' ', s), length(s));
    while (s <> '') and (s[1] = #32) do delete(s, 1, 1);
    if copy(s, 1, 2) = 'no' then writeln(copy(s, 1, pos(' ', s)));
  until s = '';

end.
, то еще неизвестно, кто пойдет служить rolleyes.gif
Client
как всегда, код высшего класса!
а я не пойду, это точно blum.gif smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.