Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.12.2020
Сообщений: 24

Удалить символ из строки. Программа не работает

09.12.2020, 15:01. Показов 758. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа должна удалять из строки введённый символ. Не понимаю, почему она не работает. Кто может помочь?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  s: string;
  c: char;
  i: byte;
 
  begin
  write(' Sentence: ');
  readln(s);
  write(' Letter: ');
  readln(c);
  for i := 1 to length(s) do
  begin
  if s[i] = c then
  delete(s, i, 1);
  end;
  writeln(s);
  readln;
 
  end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2020, 15:01
Ответы с готовыми решениями:

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

Не работает программа: удалить подстроки из строки
string S2 = "я"; string S1 = "я мясо рис ряса"; //1) если нужно заменить все вхождения S2 в S1 S1...

В тексте удалить указанный символ везде, где он встречается. Программа не позволяет ввести символ
#include<iostream> #include<conio.h> #include<cstdlib> using namespace std; int main() { setlocale(0,"Russian"); char s; ...

3
445 / 373 / 133
Регистрация: 09.09.2011
Сообщений: 1,345
09.12.2020, 16:02
в процессе прохода по строке - ее модифицируете. у вас меняются кол-во символов в строке, индексация не корректная.

к тому же условия цикла в паскале (в отличии от СИ) вычисляются 1 раз. длина строки уменьшится после удаления символов а цикл будет идти до конца изначальной строки

надо либо:
a) идти в цикле от конца строки к началу
б) не удалять символы из изначальной строки, а копировать все символы кроме заданных в новую строку, которая и будет результатом работы программы.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
10.12.2020, 07:24
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
  s: string;
  c: char;
  i: byte;
 
begin
 
  s := '123123123'; c := '1';
  for i := length(s) downto 1 do
    if s[i] = c then
      delete(s, i, 1);
  writeln(s);
 
  s := '123123123'; c := '1';
  while Pos(c, s) > 0 do
    delete(s, Pos(c, s), 1);
  writeln(s);
 
end.
0
0 / 0 / 0
Регистрация: 03.12.2020
Сообщений: 24
10.12.2020, 11:10  [ТС]
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2020, 11:10
Помогаю со студенческими работами здесь

Удалить из строки определенный символ и символ после него
Пример: §b§lТекст§c§8Text Должно стать: ТекстText Пожалуйста, помогите.

Строка: Как удалить начальный символ в строке и добавить тот же символ (который удалили) в конец строки?
Как удалить начальный символ в строке и добавить тот же символ (который удалили) в конец строки? Т.е есть строка 1234567890 из нее...

Как удалить символ из строки при посимвольной обработке строки в цикле?
Допустим, дана строка "ab+0.1973-1.1" Она обрабатывается посимвольно через foreach. Нужно удалить из каждой группы идущих подряд цифр,...

Если длина введенной строки нечетная, удалить символ, стоящий посередине строки
Если длина введенной строки нечетная, удалить символ, стоящий посередине строки,задача по C# через string пожалуйста

Если длина введенной строки нечетная, удалить символ, стоящий посередине строки.
Если длина введенной строки нечетная, удалить символ, стоящий посередине строки. Помогите решить пожалуйста через Char можно если.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru