procedure TForm1.Button1Click(Sender: TObject);
type
TStringMatrix = Array of Array of String;
function NumPos(S: String; C: Char; Num: Integer): Integer;
var
i, CurPos: Integer;
begin
CurPos:=0;
Result:=0;
for i:=1 to Length(S) do
begin
if S[i] = C then
Inc(CurPos);
if CurPos = Num then
begin
Result:=i;
Break;
end;
end;
end;
function CopyFromTo(S: String; C: Char; BeginPos, EndPos: Integer): String;
begin
Result:=Copy(S, NumPos(S, C, BeginPos) + 1, NumPos(S, ',', EndPos) - NumPos(S, ',', BeginPos) - 1);
end;
function IndexInArray(S: String; Ar: TStringMatrix): Integer;
var
i: Integer;
begin
Result:=-1;
if Length(Ar) = 0 then
Exit;
for i:=Low(Ar) to High(Ar) do
begin
if Length(Ar[i]) > 0 then
if Ar[i][0] = S then
begin
Result:=i;
Exit;
end;
end;
end;
var
TmpStr: String;
Cheks: TStringMatrix;
i, j: Integer;
begin
AssignFile(Input, 'f.txt');
Reset(Input);
AssignFile(Output, 'num.txt');
Rewrite(Output);
//AssignFile(ErrOutput, 'price.txt');
//Rewrite(ErrOutput);
while not Eof(Input) do
begin
Readln(Input, TmpStr);
if IndexInArray(Copy(TmpStr, Pos('№', TmpStr) + 1, NumPos(TmpStr, ',', 7) - Pos('№', TmpStr) - 1), Cheks) > -1 then
begin
SetLength(Cheks[IndexInArray(Copy(TmpStr, Pos('№', TmpStr) + 1, NumPos(TmpStr, ',', 7) - Pos('№', TmpStr) - 1), Cheks)], Length(Cheks[IndexInArray(Copy(TmpStr, Pos('№', TmpStr) + 1, NumPos(TmpStr, ',', 7) - Pos('№', TmpStr) - 1), Cheks)]) + 1);
Cheks[IndexInArray(Copy(TmpStr, Pos('№', TmpStr) + 1, NumPos(TmpStr, ',', 7) - Pos('№', TmpStr) - 1), Cheks)][High(Cheks[IndexInArray(Copy(TmpStr, Pos('№', TmpStr) + 1, NumPos(TmpStr, ',', 7) - Pos('№', TmpStr) - 1), Cheks)])]:=CopyFromTo(TmpStr, ',', 2, 3);
end
else
begin
SetLength(Cheks, Length(Cheks) + 1);
SetLength(Cheks[High(Cheks)], 2);
Cheks[High(Cheks)][0]:=Copy(TmpStr, Pos('№', TmpStr) + 1, NumPos(TmpStr, ',', 7) - Pos('№', TmpStr) - 1);
Cheks[High(Cheks)][1]:=CopyFromTo(TmpStr, ',', 2, 3);
end;
end;
for i:=Low(Cheks) to High(Cheks) do
begin
Writeln(Output, Cheks[i][0]);
for j:=Low(Cheks[i]) + 1 to High(Cheks[i]) do
Writeln(Output, Cheks[i][j] + ',');
end;
CloseFile(Input);
CloseFile(Output);
end;