С динамическим массивом:
VAR
i: Integer;
a: Array of Char;
BEGIN
Assign(input, 'input.txt'); ReSet(input);
SetLength(a, 1);
While (not eoln(input)) do begin
SetLength(a, Length(a)+1);
Read(a[Length(a)-1]); End;
For i := 1 to Length(a)-1 do
If (not Odd(i)) then a[i] := '-';
For i := 1 to Length(a)-1 do Write(a[i]);
END.