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

Задана последовательность символов за которой следует точка,напечатайте текст удалив из него все знаки плюс за которыми идет цифра

24.12.2010, 23:14. Показов 1895. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
PROGRAM vlab9;
  VAR  X,y:CHAR;
  BEGIN
  READ(X,y); write(x);
  repeat
  if not ((x>='0') and (x<='9'))
  then write (y)
  else
  if  y<>'+' then write (y);
  x:=y;
  READ(y)
  until y='.';
 end.

вот сама прога,но тут одна заковырка.он удаляет + только после цифры.
как поменять?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2010, 23:14
Ответы с готовыми решениями:

Ввести с клавиатуры текст. Напечатать его, удалив из него все знаки «+», непосредственно за которыми идет цифра
Ввести с клавиатуры текст. Напечатать его, удалив из него все знаки «+», непосредственно за...

Строка: Изменить последовательность S1...Sn, удалив из нее все знаки +, за которыми следует цифра.
помогите пожалуйста на делфи сделать прогу. Дано натуральное число n. Символы S1...Sn. Изменить...

Строка: Изменить последовательность S1,...,Sn, удалив из нее все знаки +, за которыми следует цифра
Даны натуральное число n, символы S1,...,Sn. Изменить последовательность S1,...,Sn, удалив из нее...

Перепечатать заданный текст, удалив из него символы "b", непосредственно перед которыми следует цифра
УЖЕ есть код , но он почему то у меня зациклился , помогите исправить , или предложите свой вариант...

10
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
24.12.2010, 23:19 2
Pascal
1
2
3
4
for i:=1 to length(s)-1 do
if (s[i]='+') and (s[i+1] in ['0'..'9']) then
delete(s,i,1);
writeln(s);
0
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 5
24.12.2010, 23:29  [ТС] 3
спасибо,но эт слишком сложно,сейчас покумекаю и выдам
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
24.12.2010, 23:32 4
проще некуда.
там нечему кумекать
0
332 / 306 / 155
Регистрация: 14.02.2010
Сообщений: 662
24.12.2010, 23:37 5
Цитата Сообщение от CjVladimir Посмотреть сообщение
спасибо,но эт слишком сложно,сейчас покумекаю и выдам
Возможно немного проще
Pascal
1
2
3
4
5
6
7
8
9
10
p[10]:= ('0','1','2','3','4','5','6','7','8','9');
for i:=1 to length(s)-1 do
if (s[i]='+') then
for j:=1 to n do
if s[i+1] = p[i] then
begin
delete(s,i,1);
break;
end;
writeln(s);
Не проверял
0
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 5
24.12.2010, 23:37  [ТС] 6
для того чему нас учили эт не просто
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
24.12.2010, 23:41 7
Цитата Сообщение от MegaAce Посмотреть сообщение
s[i+1] = p[i] then
пропущен if

но мой всё-таки проще, нет лишних массивов и циклов

походу ещё и логическая ошибка

Цитата Сообщение от MegaAce Посмотреть сообщение
if (s[i]='+') then
допустим 3-й элемент +
0
332 / 306 / 155
Регистрация: 14.02.2010
Сообщений: 662
24.12.2010, 23:44 8
Цитата Сообщение от Dekio Посмотреть сообщение
пропущен if

но мой всё-таки проще, нет лишних массивов и циклов
Сорри.
Конечно проще, но может человек не учил множества
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
24.12.2010, 23:46 9
я не успел дописать в посте

допустим 3-й элемент +
Цитата Сообщение от Dekio Посмотреть сообщение
if (s[i]='+') then
Цитата Сообщение от MegaAce Посмотреть сообщение
for j:=1 to n do
if s[i+1] = p[i] then
тогда если 4 элемент строки равен 4 элементу массива (а именно числу 3) тогда удаляем.

там сказано про любое число после знака +
0
332 / 306 / 155
Регистрация: 14.02.2010
Сообщений: 662
24.12.2010, 23:50 10
Цитата Сообщение от MegaAce Посмотреть сообщение
s[i+1] = p[i]
Ище раз сорри. Вроде так
Pascal
1
s[i+1] = p[j]
0
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 29
29.11.2011, 22:16 11
Цитата Сообщение от Dekio Посмотреть сообщение
if (s[i]='+') and (s[i+1] in ['0'..'9']) then delete(s,i,1);
скажите пожалуйста а что это значит и как она работает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2011, 22:16
Помогаю со студенческими работами здесь

Напечатайте заданный непустой текст, удалив из него все буквы b, непосредственно перед которыми находится буква с
Напечатайте заданный непустой текст, удалив из него все буквы b, непосредственно перед которыми...

Напечатайте заданный непустой текст, удалив из него все буквы b, непосредственно перед которыми находится буква с.
столкнулся с задачкой, а именно: Напечатайте заданный непустой текст, удалив из него все буквы...

Удалить все знаки «+», за которыми следует цифра
Здравствуйте! Помогите,пожалуйста, с программой. Задание: Удалить все знаки «+», за которыми...

В заданном тексте удалить все знаки +, непосредственно за которыми следует цифра.
В заданном тексте удалить все знаки +, непосредственно за которыми следует цифра.


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

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

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