Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > помогите начинающему программисту


Автор: losoob 27.1.2008, 13:44
вообщем даны 2 предложения.Напечатать те слова,которые усть в первом но нет во втором....у меня уже мозги кипят от задачи.ничего не получается....пожалуйста помогите
примерный программный код 
Program Example;
Var
  l, p: String[33];
  w, s: String;
   i,j: Integer;
Begin
    p:='¬ ¬  ¬л«  а ¬г е®а®и®я';
    WriteLn('vvedite strocy');
    ReadLn(S);
    For i:=1  to  Length(p)  do
    Begin

              Repeat
          while ( p[i]<>' ') do
              Begin
                   i:=i+1;
                    end;
               w:=copy(p,l,i-1);
               t:=false;
               j:=1;
               repeat
               a:=j;
               while s[j] <>' ' do
               begin
               j:=j+1;
                end;
               k:=(s,a,j-1);
               if w=k then
               t:=trye;
               j:=j+1;
               untul j=lenght( s);
               write ('w'w);
               end;
               until i=Lenght (p);
               write ('w='w);
               end.



     End
End.


Автор: orthrus 28.1.2008, 08:11
Вот рабочая прога, только есть пару моментов которые сам можешь доработать
Код

Uses CRT;
Var
  str1, str2: String;
  tmp,s1,s2: String;
  i,j,s: Integer;
Begin
    clrscr;
    str1:='мама мыла раму хорошо';
    WriteLn('введите строку');
    ReadLn(Str2);
    Writeln('В этом предложении нет следующих слов:');
    while (str1 <> '') do
    begin
      i := pos(' ',str1);
      if (i = 0) then begin
                      i := length(str1);
                      s1 := copy(str1,1,i);
                      end
      else s1 := copy(str1,1,i-1);
      tmp := str2;
      s := 0;
      while (tmp <> '') do
      begin
        j := pos(' ',tmp);
        if (j = 0) then begin
                        j := length(tmp);
                        s2 := copy(tmp,1,j);
                        end
        else s2 := copy(tmp,1,j-1);
        if (s1 = s2) then s := s + 1;
        delete(tmp,1,j);
      end;
      if (s = 0) then writeln(s1);
      delete(str1,1,i);
    end;
    readln;
End.

Автор: losoob 28.1.2008, 18:04
спасибо....буду смотреть.....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)