0 / 0 / 0
Регистрация: 26.04.2015
Сообщений: 39
1

Если в тексте есть цифра "2", то каждый символ перед этой цифрой заменить на букву "а"

26.04.2015, 13:49. Показов 1895. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста с задачкой в Паскале. Дан текст. Если в нем есть цифра 2, то каждый символ перед этой цифрой заменить на букву а.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2015, 13:49
Ответы с готовыми решениями:

Каждый символ текста перед цифрой '2' заменить на букву 'а'
Дан текст. Если там есть цифра "2", то каждый символ перед этой цифрой заменить на букву "а"....

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры
Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с...

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры.
Работа с символьными данными. 15. Каждый символ ? удвоить. Каждый символ, стоящий перед !,...

Зашифровать строку так, чтобы каждый символ не цифра был заменен цифрой
Зашифровать строку так, чтобы каждый символ не цифра был заменен цифрой. Цифры брать...

12
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
26.04.2015, 14:02 2
Лучший ответ Сообщение было отмечено Vasiliy1997 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
    s: String;
    i: Byte;
begin
    Write('s: '); ReadLn(s);
    if (Length(s) > 1)
    then
    begin
        for i := 2 to Length(s) do
            if (s[i] = '2')
            then
                s[i - 1] := 'a';
    end;
    WriteLn(s);
end.
1
0 / 0 / 0
Регистрация: 26.04.2015
Сообщений: 39
26.04.2015, 14:08  [ТС] 3
Большое спасибо!
0
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
26.04.2015, 14:26 4
стоп. строка вида
Код
qwert2y
должна стать
Код
aaaaa2y
или
Код
qwera2y
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,127
26.04.2015, 15:22 5
Цитата Сообщение от Vasiliy1997 Посмотреть сообщение
Дан текст. Если в нем есть цифра 2, то каждый символ перед этой цифрой заменить на букву а
Я бы сделал так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
  var
  s:string;
  i:integer;
begin
Writeln('Enter your text');
Readln(s);
if Pos('2', s)>0 then begin
for i :=1 to Pos('2', s)-1 do s[i] :='a';
Writeln(s);
end
else Writeln('"2" not found!');
Readln;
end.
Примеры.

На входе:
Mach2ine
На выходе:
aaaa2ine
На входе:
2Machine
На выходе:
2Machine. Без изменений
На входе:
Machine
На выходе:
"2" not found!
0
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
26.04.2015, 15:49 6
droider, вот об этом я и спросил позже)

Добавлено через 13 минут
тогда уж так нужно писать
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
    s: String;
    i: Byte;
    state: Boolean;
begin
    Write('s: '); ReadLn(s);
    i := Length(s);
    repeat
        state := s[i] = '2';
        Dec(i);
    until ((i = 0) Or (state));
    if (state)
    then
    begin
        if (i > 1)
        then
            for i := i downto 1 do
                s[i] := 'a';
        WriteLn(s);
    end
    else
        WriteLn('"2" not found!');
end.
0
0 / 0 / 0
Регистрация: 26.04.2015
Сообщений: 39
26.04.2015, 16:02  [ТС] 7
Цитата Сообщение от JokeR.BY Посмотреть сообщение
1
qwera2y
вот так
0
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
26.04.2015, 16:10 8
Vasiliy1997, ну тогда самый первый ответ.

Добавлено через 1 минуту
Vasiliy1997, а что должно выйти, например, в таком варианте?
Код
qwert22y
0
0 / 0 / 0
Регистрация: 26.04.2015
Сообщений: 39
26.04.2015, 16:25  [ТС] 9
Цитата Сообщение от JokeR.BY Посмотреть сообщение
Vasiliy1997, а что должно выйти, например, в таком варианте?
Код Code
1
qwert22y
спасиб
по идее, qweraa2
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,127
26.04.2015, 22:15 10
Vasiliy1997, я думаю, что Вы не поняли задачу. Уточняли?
Ведь сказано
Цитата Сообщение от Vasiliy1997 Посмотреть сообщение
каждый символ перед этой цифрой заменить
а не " символ перед этой цифрой заменить". Чувствуете разницу?
Цитата Сообщение от JokeR.BY Посмотреть сообщение
тогда уж так нужно писать
у меня что-то не так? Или как бы свой вариант? Я проверял.
0
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
26.04.2015, 22:58 11
droider, в вашем варианте строка
Код
asd2asd2asd
примет вид
Код
aaa2asd2asd
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,127
26.04.2015, 23:03 12
JokeR.BY, верно. Для нескольких двоек не учел.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7788 / 4613 / 2828
Регистрация: 22.11.2013
Сообщений: 13,111
Записей в блоге: 1
27.04.2015, 08:48 13
Если нужно заменять от начала до последней 2, то
Pascal
1
2
3
4
5
6
i:=Length(s);
while (i>0) and (s[i]<>'2') do Dec(i);
Dec(i);
while i>0 do begin
  s[i]:='a'; Dec(i);
end;
Добавлено через 3 минуты
Или
Pascal
1
2
3
i:=Length(s); 
while (i>0) and (s[i]<>'2') do Dec(i); 
while i>1 do begin Dec(i); s[i]:='a'; end;
0
27.04.2015, 08:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2015, 08:48
Помогаю со студенческими работами здесь

Текст из 0 и 1. Оставив 1-ый символ в как есть, заменить каждый следующий на 0, если не совпадает с рассматриваемым
Добрый день, окажите помощь с данной задачей. Задан текст, состоящий из «0» и «1». Оставив первый...

Заменить каждый символ-цифра на символ !
Введите массив из 12 элементов. Замените каждый символ-цифра на символ !

Дан текст. Если в тексте нет символа *, то оставить этот текст без изменения, иначе каждую из малую букву, перед первым вхождением *, заменить на 3
Задача 3 Программирование алгоритмов обработки текстовой Дан текст. Если в тексте нет символа *,...

В строке заменить каждый символ строки следующим по коду символом. Букву «я» заменить пробелом
В заданной строке заменить каждый символ строки следующим по коду символом. Букву «я» заменить...

Строка: вставить перед цифрой букву, стоящую за цифрой
Задана строка из латинских букв и цфир. Вставить перел цифрой букау, стоящую за цифрой

В заданной строке заменить каждый символ строки следующим по коду символом. Букву «я» заменить пробелом
В заданной строке заменить каждый символ строки следующим по коду символом. Букву «я» заменить...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru