Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- TArrOfStr = array [1 .. 128] of string;
- var
- MainStr: string;
- LastWord: string;
- BaseOfWords: TArrOfStr;
- NumberOfWords: integer;
- function ReturnLastWord(Str: string): string;
- var
- counter, LenStr: integer;
- begin
- LenStr := Length(Str);
- counter := Length(Str);
- while (Str[counter] <> ' ') and (counter > 0) do
- dec(counter);
- inc(counter);
- result := Copy(Str, counter, LenStr - counter + 1);
- end;
- function DeleteWords(Str, Word: string): string;
- var
- counter, LenOfWord, index: integer;
- begin
- LenOfWord := Length(Word);
- while Pos(Word, Str) > 0 do
- begin
- index := Pos(Word, Str);
- Delete(Str, index, LenOfWord + 1);
- end;
- result := Str;
- end;
- procedure CountNumberOfVowels(Str: string);
- var
- counter, LenOfStr: integer;
- Vowels: array [1 .. 6] of integer;
- begin
- for counter := 1 to 6 do
- Vowels[counter] := 0;
- LenOfStr := Length(Str);
- for counter := 1 to LenOfStr do
- begin
- case Str[counter] of
- 'a':
- inc(Vowels[1]);
- 'e':
- inc(Vowels[2]);
- 'i':
- inc(Vowels[3]);
- 'o':
- inc(Vowels[4]);
- 'u':
- inc(Vowels[5]);
- 'y':
- inc(Vowels[6]);
- end;
- end;
- // Output
- writeln('a:',Vowels[1]);
- writeln('e:',Vowels[2]);
- writeln('i:',Vowels[3]);
- writeln('o:',Vowels[4]);
- writeln('u:',Vowels[5]);
- writeln('y:',Vowels[6]);
- end;
- function GetArrayOfString(Str: string; var BaseOfWords: TArrOfStr): integer;
- var
- LenStr: integer;
- counter, NumberOfWords, IndexBeginOfTheWord: integer;
- begin
- Trim(Str);
- NumberOfWords := 1;
- LenStr := Length(Str);
- IndexBeginOfTheWord := 1;
- for counter := 1 to LenStr do
- begin
- if Str[counter] = ' ' then
- begin
- BaseOfWords[NumberOfWords] := BaseOfWords[NumberOfWords] +
- Copy(Str, IndexBeginOfTheWord, counter - IndexBeginOfTheWord);
- IndexBeginOfTheWord := counter + 1;
- inc(NumberOfWords);
- end;
- end;
- result := NumberOfWords - 1;
- // hello_my_name_is
- { writeln('Output of the words:');
- for counter := 1 to 10 do
- writeln('|', BaseOfWords[counter], '|'); }
- end;
- procedure WriteWords(Base: TArrOfStr; NumberOfWords: integer);
- var
- counter: integer;
- i, j, k: integer;
- cashWord: string;
- LastSymbol, FirstSymbol: char;
- begin
- LastSymbol := Base[1][Length(Base[1])];
- write(Base[1]);
- Base[1] := '_';
- for j := 1 to NumberOfWords do
- for i := 1 to NumberOfWords do
- begin
- if Base[i][1] = LastSymbol then
- begin
- write(' ', Base[i]);
- LastSymbol := Base[i][Length(Base[i])];
- Base[i] := '_';
- end;
- end;
- end;
- begin
- try
- readln(MainStr);
- //Str := 'hg jf kr ld sh fu et kh uf nd gk as de if ';
- MainStr := Trim(MainStr);
- LastWord := ReturnLastWord(MainStr);
- MainStr := DeleteWords(MainStr, LastWord);
- writeln(MainStr);
- CountNumberOfVowels(MainStr);
- NumberOfWords := GetArrayOfString(MainStr, BaseOfWords);
- WriteWords(BaseOfWords, NumberOfWords);
- readln;
- except
- begin
- writeln('Строка пустая');
- end
- end;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement