Другие языки программирования и технологии
Помогите в написании программы.
Помогите составить программу " УБРАТЬ ЛИШНИЕ ПРОБЕЛЫ ИЗ СТРОКИ"
Доброго времени суток.
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);
то экран будет симпатичнее смотреться.
Удачи!
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);
то экран будет симпатичнее смотреться.
Удачи!
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.
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.
Михаил, на каком языке программирования? уточните, Вас не поймут.
2 DiG DeePeR
в вашем коде имеется уязвимость типа buffer-overflow :))
в вашем коде имеется уязвимость типа buffer-overflow :))
Похожие вопросы
- Pycharm (Пожалуйста, помогите с написанием программы)
- помогите с написанием программ на паскале
- Помогите с написанием программы C++
- Помогите с написанием программы на языке Ассемблер, алгоритм знаю, вот только команды самого языка - не очень.
- Помогите с написанием программы
- помогите с написание программы плиз:
- Помогите в написании программы на С++
- Помогите в написании программы на языке с++
- Помогите в написании программы на языке С++
- Пожалуйста помогите в написании программы на С++