Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 9

Задание с строковыми величинами: 2 повторяющееся буквы заменить на 2 на другие

18.11.2012, 11:07. Показов 1868. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно что бы 2 повторяющееся буквы в слове менялись на другие (тоже 2) Например: лоорвоод на лппрвппд. Буквы оо меняются на пп.
Я делал эту программу так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program urtr;
var s,sl,e: string; k,v: integer;
begin
write('Введите слово: ');
read(s);
write('Заменить буквы: ');
read(sl);
write('На буквы: ');
read(e);
k:=pos(sl,s);
v:=length(sl);
delete(s,k,v);
insert(e,s,k);
writeln(s);
end.
Если в слове один раз повторяются буквы, то выполняется программа правильно, но если в слове встречается 2 раза повтор букв, то она выполняется только для первых. Как сделать чтоб программа выполнялась так как надо??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2012, 11:07
Ответы с готовыми решениями:

Работа со строковыми величинами.
1) Получить новую строку, включив в нее только цифровые символы исходной строки. стоит буква "а". 2) Удалить из строки...

Работа со строковыми величинами
Оставить в данном слове из каждого набора одинаковых букв, идущих подряд, только одну букву. Program upr1; var s:string; i:integer;...

составить программу со строковыми величинами
составьте программу вычеркивающую каждую третью букву из слова Х

9
Неадекват и грубиян
 Аватар для pryda
310 / 297 / 301
Регистрация: 22.02.2010
Сообщений: 647
18.11.2012, 19:10
да масса вариантов. можно вот так, например
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var s,sl,e: string; k,v: integer;
begin
writeln('Введите слово: ');
readln(s);
write('Заменить буквы: ');
readln(sl);
writeln('На буквы: ');
readln(e);
k:=pos(sl,s);
v:=length(sl);
repeat
delete(s,k,v);
insert(e,s,k);
k:=posex(sl,s,k);
until k=0;
writeln(s);
end.
0
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 9
18.11.2012, 21:27  [ТС]
Pascal ABC не распознает идентификатор posex... может как то по-другому?
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.11.2012, 21:30
Возник вопрос. Зачем запрашивать какие буквы менять, если это может определить программа по их парности?
0
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 9
18.11.2012, 21:52  [ТС]
Если честно, не знаю как это делать, буду признателен если кто помог бы....
0
Неадекват и грубиян
 Аватар для pryda
310 / 297 / 301
Регистрация: 22.02.2010
Сообщений: 647
18.11.2012, 23:25
Цитата Сообщение от Yurek Посмотреть сообщение
Возник вопрос. Зачем запрашивать какие буквы менять, если это может определить программа по их парности?
затем, что, например, в слове "вооппрроосс" я хочу заменить только "оо". остальное не трогать. я ответил на твой вопрос?
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.11.2012, 23:30
Цитата Сообщение от pryda Посмотреть сообщение
я ответил на твой вопрос?
Да, ответил, но в задании этого нет
0
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 9
19.11.2012, 15:25  [ТС]
Так как на Pascal ABC сделать эту программу??

Добавлено через 7 часов 10 минут
И, может кто подскажет, почему моя программа меняет только первые повторяющееся буквы?
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
19.11.2012, 20:37
Gheka_017, ваша программа не работает. потому что вы только один раз определяете позицию вхождения заданных букв, удаляете их и втавляете новые. а делать это необходимо до тех пор, пока есть заданные повторяющиеся буквы в строке
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var s,sl,e: string; k,v: integer;
begin
write('Введите слово: ');
read(s);
write('Заменить буквы: ');
read(sl);
write('На буквы: ');
read(e);
while pos(sl,s)<>0 do
      begin
      k:=pos(sl,s);
      v:=length(sl);
      delete(s,k,v);
      insert(e,s,k);
      end;
writeln(s);
end.
0
17 / 17 / 28
Регистрация: 05.11.2012
Сообщений: 40
20.11.2012, 01:29
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var a,b,c,d,e,i: integer;
s: string;
s1,s2: string;
Begin
read(s); //Сама строка
read(s1); //Буква, которую надо заменить.
read(s2); //Буква, на которую заменяется.
s2:=concat(s2,s2);
a:=length(s);
 
 for i:=1 to a-1 do
 if (s[i]=s[i+1]) and (s[i]=s1[1]) then
 begin
 delete(s,i,2);
 insert(s2,s,i);
 end;
write(s);
End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2012, 01:29
Помогаю со студенческими работами здесь

Разработка программы, выполняющей действия над строковыми величинами
Составить программу, выводящую, какая буква стоит в слове на каждой позиции. Далее программа спрашивает, на какой позиции изменить букву и...

Как найти и заменить буквы в слове на другие буквы
ну например, дан такой набор букв абвгадежазикла нужно все буквы &quot;а&quot; заменить на буквы &quot;б&quot;, т.е. ббвгбдежбзиклб ...

Заменить в строке одни буквы на другие
Напишите программу на c++, которая считывает количество слов и меняет все буквы `а` на `о`. Примечание: компилятор - MS VC++

Заменить буквы или цифры в произвольном слове на другие
Как заменить буквы или цифры в произвольном слове на другие (буквы , цифры)

Заменить все латинские буквы строчными (другие символы копировать в выходной поток без изменения)
2.4. Пусть во входном потоке находится последовательность литер, заканчивающихся точкой (кодировка ASII). Вывести в выходной поток...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru