Удаление одинаковых символов
Оставить в строке только один экземпляр каждого встречающегося символа.
- s – исходная строка;
- s_new – конечная строка;
- c – переменная для очередного символа.
Алгоритм решения задачи:
- Взять очередной символ из s .
- Если он не содержится в s_new , присоединить его к этой строке.
var s, s_new: string; c: char; i: byte; begin readln(s); s_new := ''; for i:=1 to length(s) do begin c := s[i]; if pos(c, s_new) = 0 then s_new := s_new + c end; writeln(s_new); end.
hello world helo wrd
как удалить символ со строки в программе паскаль? мне нужно из слова programm удалить символы чтобы получилось pramm
ДЕЛЕТЕ (ВАР С: СТРИНГ; ИНДЕХ, КАУНТ: ИНТЕДЖЕР)
процедура удаляет из строки-параметра С подстроку длиной КАУНТсимволов, начиная с символа под номером ИНДЕХ.
пример.
С: = ‘система турбо паскаль’;
ДЕЛЕТЕ (С, 8,6);
примеч. большие буквы в тексте нужно заменить на английские по транслитерации (почему то не позволяется вводить в ответ английские символы)
Ольга Каляева-Веселова
starget,s:string;
begin
starget:=’programm’;
s:=’rog’;
delete(starget,pos(s),length(s));
end;
удалит из строки starget строку s.
Как удалить символ из строки паскаль
Сообщение от MyLastHit
Наверное проще бы было здесь так:
for i:=1 to endstr do if s[i]<>',' then s1:=s1+s[i];
Если повнимательнее присмотритесь к своему циклу, то поймете, что размер строки после каждой найденной запятой уменьшается. За счет этого происходит смещение
Большое спасибо, сам бы точно не додумался до такого.
Регистрация: 12.01.2011
Сообщений: 19,500
Так происходит потому что строка уменьшается на 1 символ и вы «перепрыгиваете» его.
У меня получился только вот такой костыль (войдет в бесконечный цикл если запятая — последний символ строки):
for i:=1 to endstr do if s[i]=',' then begin Delete(s,i,1); i:=i-1; endstr:=endstr-1; end;
upd: а, уже выше нормальный вариант
Последний раз редактировалось Alex11223; 14.05.2011 в 22:27 .
Удалить символы из строки
Ввести фамилию имя отчество в строку. определить количество вхождений символа а и длину введенной строки. Удалить из нее все символы а и б. Переменная должна быть string. Спасибо заранее.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Даны две строки. Из множества символов первой строки удалить символы содержащиеся во второй строке.
составить программу для решения задач: 6. Даны две строки. Из множества символов первой строки.

Удалить символы из строки
Помогите пожалуйуста с задачей: Из строки символов удалить символы, коды которых лежат на.
Удалить символы из заданной строки
Дана строка s, содержащая менее чем 256 символов. Удалить из данной последовательности символов все.

Строка: Удалить все символы «а» заданной строки.
Дана строка. Удалить все символы «а».
![]()
6809 / 4566 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438

Сообщение было отмечено koshak98 как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
var s: string; i, ka: integer; begin readln(s); ka := 0; for i := 1 to length(s) do if s[i] = 'а' then inc(ka); writeln('Количество букв "a": ', ka); writeln('Длина слова: ', length(s)); for i := length(s) downto 1 do if (s[i] = 'а') or (s[i] = 'б') then delete(s, i, 1); writeln('Измененное слово: ', s); end.