Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Строки (http://www.tehnari.ru/f41/t43785/)

dima112 23.12.2010 23:42

Строки
 
Pascal ABC

Вот программа в которой надо удалить символ *. Как мне это сделать?
Еще в этой программе надо удвоить каждый символ отличный от *, до этого я еще не дошел, с удалением не разобрался..
Вот мой код, написанный не правильно

program qq;
uses crt;
var a:string;
i:byte;
n:integer;
begin
writeln('Введите строку');
readln(a);
i:=1;
for i:=1 to length(a) do
begin
if '*' = a[i] then
begin
delete (что здесь писать?) ;
end;
writeln(a);
end.

MrSTEP 24.12.2010 00:14

Процедура удаляет один или несколько символов из строки. В аргументах сначала пишется имя строковой переменной, потом позиция, с которой нужно удалять, и затем количество удаляемых символов. Кстати, последние два параметра я мог перепутать местами, проверьте

Olga) 24.12.2010 00:17

А можно пример самой процедуры? Чтобы поняла..

Olga) 24.12.2010 00:20

А можно просто удалить определенный символ? Не так как в операторе Delete, в которой нужно вписать позиции удаления "От" и "До". А вот просто хочу удалить Вот этот "*" символ в строке S.

Olga) 24.12.2010 00:22

У меня точно такое же задание

dima112 24.12.2010 00:26

Да, можно саму процедуру показать?

MrSTEP 24.12.2010 00:34

Delete (а, i, 1);
где a - строка, i - номер позиции, откуда нужно удалять элемент.

Стандартной функции для удаления определенного символа нет.

MrSTEP 24.12.2010 00:40

Хотя, можно применить для этого связку из двух функций: первая - n:=pos(a, s1); - находит первое вхождение подстроки s1 в строку a (если такого нет, возвращает 0), и вторая - собственно delete (а, n, 1); если n>0

dima112 24.12.2010 00:52

Все равно не пойму.. Этот оператор можно использовать если мы заранее знаем положение заданного символа. А если допустим ввести строку: hjkdfh*skjdfh*kjhsd*. Как мне сделать чтобы программа удаляла все "*" ?

Даже если делать с помощью цикла.. Допустим

for i:=1 to length(a) do
begin
if '*' = a[i] then что здесь вписать чтобы удалил его?

MrSTEP 24.12.2010 00:55

То, что я написал в посте #7


Часовой пояс GMT +4, время: 11:57.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.