Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program stroki; //п.1. - Напечатать все слова, отличные
- //от последнего слова, в которые первая
- {$APPTYPE CONSOLE} //буква входит ещё раз.
- //п.2. - Напечатать все слова, отличные
- uses //от последнего слова, заменив все вхож-
- SysUtils, system; //дения ph на f, если такие имеются.
- Type TWords = array [1..100] of string;
- var s1, s, s2: String;
- a: Integer;
- word: TWords;
- Function ToDivideIntoWords(s:string; var a: Integer): TWords; //Разделяет строку на слова
- var i,j : Integer;
- word : TWords;
- begin
- a:=1;
- i:=1;
- while (i<(length(s)-1)) do
- begin
- if (s[i]=' ') and (s[i+1]<>' ') then
- begin
- j:=i+1;
- while s[j]<>' ' do j:=j+1;
- word[a]:=copy(s,i+1,j-i-1);
- inc(a);
- i:=j-1;
- end;
- inc(i);
- end;
- Result:=word;
- end;
- procedure Punkt1(word: TWords; a: Integer; var s1:string); //п.1
- var i, j: Integer;
- flag: Boolean;
- begin
- for i:=1 to a do
- begin
- if not (lowercase(word[i])=lowercase(word[a-1])) then //Проверка на отличие от последнего
- begin
- j:=2;
- flag:=true;
- While (j<=length(word[i])) and (flag) do //Проверка на вхождение первой буквы
- begin //ещё раз в это слово
- if (UpCase(word[i][j])=UpCase(word[i][1])) then
- begin
- s1:=s1+word[i]+' '; //Если верно, то записываем в результат
- flag:=false;
- end;
- inc(j);
- end;
- end;
- end;
- end;
- Function Punkt2(word:Twords; a: Integer):string;
- Var i,j: Integer;
- s2: String;
- begin
- for i:=1 to a do
- begin
- if not (lowercase(word[i])=lowercase(word[a-1])) then //Проверка на отличие от последнего
- begin
- j:=1;
- While (j<=length(word[i])) do
- begin
- if (word[i][j] in ['p','P']) and (word[i][j+1] in ['h','H']) then //Нахождение сочитания
- begin //букв ph
- word[i][j]:='f';
- delete(word[i],j+1,1); //Заменяем ph на f
- end;
- inc(j);
- end; //Записываем результат
- s2:=s2+word[i]+' ';
- end;
- end;
- Result:=s2;
- end;
- procedure ShowResult(FirstResult,SecondResult:string); //Выводит результат на экран
- begin
- writeln('p.1:');
- writeln(FirstResult);
- writeln;
- writeln('p.2:');
- writeln(SecondResult);
- end;
- begin
- writeln('Enter the string in English.'); // Ввод строки
- readln(s);
- word:=ToDivideIntoWords(s,a);
- writeln;
- Punkt1(word,a,s1); //п.1
- s2:=Punkt2(word,a); //п.2
- ShowResult(s1,s2);
- sleep(200000);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement