Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program cursach;
- { C:\Users\Данила\Desktop\Курсовой проект\Test.txt }
- uses
- System.SysUtils;
- Type
- TLettersBox = array of string;
- Var
- TestStr: string;
- ArrStr: TLettersBox;
- Size, TestI, TestScorer: integer;
- TestFile: TextFile;
- procedure OpenFileToStr(Var AnyString: string);
- Var
- buff, FilePath: string;
- Archiv: TextFile;
- begin
- writeln('Укажите путь к файлу');
- readln(FilePath);
- AssignFile(Archiv, FilePath);
- Reset(Archiv);
- while not EOF(Archiv) do
- begin
- readln(Archiv, buff);
- AnyString := AnyString + buff;
- end;
- CloseFile(Archiv);
- end;
- procedure LettersTable(Var AnyStr: string;
- Var ArrOfStr: TLettersBox; Var SizeOfArr: integer);
- Var
- i, j, k, LengthOfStr, LetAmount, RealLength: integer;
- Symble, SymbleCmp: Char;
- flag: boolean;
- begin
- SetLength(ArrOfStr, Length(AnyStr));
- LengthOfStr := Length(AnyStr);
- SizeOfArr := LengthOfStr;
- i := 0;
- k := 0;
- RealLength := Length(AnyStr);
- WHILE i <= RealLength do
- begin
- i := 1;
- j := i;
- LetAmount := 0;
- flag := True;
- Symble := AnyStr[i];
- while (j <= RealLength) and flag do
- begin
- if Symble = AnyStr[j] then
- begin
- inc(LetAmount);
- Delete(AnyStr, j, 1);
- Dec(j, 2);
- end;
- inc(j);
- RealLength := Length(AnyStr);
- if (j > RealLength) or (j < 0) or (RealLength = 0)
- then
- flag := false
- end;
- RealLength := Length(AnyStr);
- if Symble = ' ' then
- ArrOfStr[k] := '[space] ='
- else
- ArrOfStr[k] := '[' + Symble + '] =';
- inc(k);
- ArrOfStr[k] := IntToStr(LetAmount);
- inc(k);
- LetAmount := 0;
- end;
- i := 0;
- flag := True;
- while (i <= SizeOfArr) and flag do
- begin
- if ArrOfStr[i] = '' then
- begin
- SetLength(ArrOfStr, i);
- SizeOfArr := i;
- flag := false;
- end;
- inc(i);
- end;
- end;
- begin
- OpenFileToStr(TestStr);
- LettersTable(TestStr, ArrStr, Size);
- AssignFile(TestFile,
- 'C:\Users\Данила\Desktop\Курсовой проект\Results.txt');
- Rewrite(TestFile);
- TestScorer := 0;
- for TestI := 0 to Size - 1 do
- begin
- inc(TestScorer);
- write(TestFile, ArrStr[TestI]);
- if TestScorer = 2 then
- begin
- write(TestFile, '; ');
- TestScorer := 0;
- end;
- end;
- CloseFile(TestFile);
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement