Другие языки программирования и технологии

Помогите в написании программы.

Помогите составить программу " УБРАТЬ ЛИШНИЕ ПРОБЕЛЫ ИЗ СТРОКИ"
Доброго времени суток.

DiG DeePeR, чаще заглядывайте в исходники, писанные профессионалами. Многому научитесь. Вот пример функции, удаляющей повторяющиеся пробелы из модуля strutils.pas библиотеки RxLib.

function DelSpace1(const S: string): string;
var
I: Integer;
begin
Result := S;
for I := Length(Result) downto 2 do begin
if (Result[ I ] = ' ') and (Result[ I - 1 ] = ' ') then
Delete(Result, I, 1);
end;
end;

Все. И не надо никаких плясок с логическими переменными и прочими извратами.

2 Михаил: Если вам надо запустить эту функцию под турбо паскалем, то в список переменных добавьте строковую переменную Result, а перед последним end функции добавьте такую строчку

DelSpace1 := Result;

2 DiG DeePeR: Для вывода кроме процедуры WriteLn, есть еще и Write, которая оставляет курсор в той же строке. И если вывод приглашения ко вводу сделать так

Write('Исходная строка = ',s);

то экран будет симпатичнее смотреться.

Удачи!
Aleksandr Khokhlov
Aleksandr Khokhlov
59 612
Лучший ответ
var s:string[80];
i,k:integer;
ch:char;
b:boolean;
begin
writeln('Работает программа- пример на использование строк');
repeat
writeln('Введите исходную строку');
readln(s);
writeln('Исходная строка = ',s);
k:=length(s);{Определяем длину введенной строки}
i:=1;
while (i<=k-1) do
begin
if s=' ' then
begin
repeat
if s[i+1]=' ' then
begin
delete(s,i,1);
k:=k-1;
b:=false;
end
else b:=true;
until b;
end;
i:=i+1;
end;
writeln('Результат преобразования = ',s);
writeln('Будете еще преобразовывать строки? ');
readln(ch);
until ch='n'; не работает
end.
Юрий Гросу
Юрий Гросу
7 235
Михаил, на каком языке программирования? уточните, Вас не поймут.
Рим Шакиров
Рим Шакиров
2 195
2 DiG DeePeR

в вашем коде имеется уязвимость типа buffer-overflow :))