Помощь - Поиск - Пользователи - Календарь
Полная версия: Удалить фигурные и квадратные
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Korsar
Народ помогите решить задачу пожалуйста.
Используя структурированный тип строка, выполнить следующие действия с исходными данными. В заданном тексте удалить фигурные и квадратные скобки и подсчитать число удаленных символов.
volvo
Например, вот так:

  for i := 1 to length(s) do begin

if not (s[1] in ['{', '}', '[', ']']) then s := s + s[1];
delete(s, 1, 1);

end;

(это будет правильно работать, хотя на первый взгляд кажется что вариант с For неверен)
Korsar
благодарствую!!!!!!!!!!!!!!!
Korsar
Препод не принимает ее. Говорит что по другому надо. А как по другому то?
Ozzя
Цитата(Korsar @ 2.12.2006 1:19) *

Препод не принимает ее. Говорит что по другому надо. А как по другому то?

Спросить у преподавателя, КАК надо делать, не догадался?
Или ЧТО в программе ему не понравилось?
Нельзя операцию in
Цитата
in ['{', '}', '[', ']'])
использовать?
Или еще что-то?
Korsar
Ну дак она даже не работает!!!!!
мисс_граффити
так не бывает, чтобы программа volvo не работала!
и эта тоже работает....
вот:Нажмите для просмотра прикрепленного файла
а других вариантов решения... ну, при желании штук 5 разной степени извращенности я могу придумать.
только знать бы, что именно нужно твоему преподу.
Malice
Цитата(мисс_граффити @ 2.12.2006 12:30) *

так не бывает, чтобы программа volvo не работала!

Просто она кол-во удаленных не считает, но это просто добавить самому.
Или препод ее не понял, т.к. способ интересный, мне бы в голову так не пришло smile.gif
мисс_граффити
или препод не понял, или множества не проходили, или на лекции решали что-то подобное и препод требует по образцу, или Korsar просто не смог объяснить, как она работает, или он не догадался дописать ввод/вывод строки, или.......
Korsar
Цитата(мисс_граффити @ 2.12.2006 15:02) *

или препод не понял, или множества не проходили, или на лекции решали что-то подобное и препод требует по образцу, или Korsar просто не смог объяснить, как она работает, или он не догадался дописать ввод/вывод строки, или.......

Ну начнем с того, что Korsar не смог ее обьяснить!!! smile.gif И еще: как написать ввод вывод? Подскажите пожалуйста что в этой задаче к чему!!!!! Я учился в деревенской школе у нас там вообще паскаля не было. Поступил на физика а мне тут мозги паскалем парят!!!
мисс_граффити
ну и зачем было писать, что программа не работает?
тебе помогают, а ты....
program stroka;
var s:string;
i:integer;
begin
writeln('string:');{печатаем приглашение ввести строку}
readln(s);{считываем строку, с которой будем работать}
for i := 1 to length(s) do begin {выполять столько раз, сколько символов в начальной строке}
if not (s[1] in ['{', '}', '[', ']']) then s := s + s[1];{если он нам подходит - засовываем в конец строки}
delete(s, 1, 1);{удаляем проанализированный}
end;
writeln(s);{выводим, что получилось}
readln;
end.


Цитата
Я учился в деревенской школе у нас там вообще паскаля не было.

не оправдание...
я в художественном классе училась - нас за 2 года изучения информатики научили:
1) включать компьютер (выключал сам препод)
2) печатать со скоростью 60 символов в минуту (на 250 программка-тест зависала)
3) запускать QBasic и задумчиво на него смотреть..
4) переводить целые числа из двоичной сс в десятичную
Korsar
Цитата(мисс_граффити @ 3.12.2006 13:24) *

не оправдание...
я в художественном классе училась - нас за 2 года изучения информатики научили:
1) включать компьютер (выключал сам препод)
2) печатать со скоростью 60 символов в минуту (на 250 программка-тест зависала)
3) запускать QBasic и задумчиво на него смотреть..
4) переводить целые числа из двоичной сс в десятичную

Ну во первых спасибо тебе большое за помощь. Во вторых она и вправду у меня не работала, теперь понял почему просто я ее не правильно переписал!!! В третьих: тебе легко рассуждать, а я даже компов не видел до первого курса, нам монитор на доске рисовали!!! Я по своим предметам поступил на бюджет. А тут сразу паскаль блин!!!
мисс_граффити
...а чтобы подсчитать число удаленных, достаточно найти разность длины строки до обработки и длины строки после обработки.
сможешь сам?
Korsar
Цитата(мисс_граффити @ 3.12.2006 14:21) *

...а чтобы подсчитать число удаленных, достаточно найти разность длины строки до обработки и длины строки после обработки.
сможешь сам?

Спасибо за совет, но у самого не получается!!! unsure.gif
мисс_граффити
ЧТО не получается?
найти длину строки?
Korsar
Цитата
ЧТО не получается?
найти длину строки?

Да. Длину строки не могу найти.
volvo
А во втором посте, кстати, длина строки находится... Смотри внимательнее...
Korsar
Цитата
А во втором посте, кстати, длина строки находится... Смотри внимательнее...

Что за второй пост? Где он? smile.gif
Korsar
Народ, помогите пожалуйста найти длину строки!!!
volvo
Что такое Length(s), по-твоему?

(второй пост - это тот, который следует за твоим вопросом. Логично, что сам вопрос имеет №1, правда? Так, справа вверху каждого сообщения есть надпись "Сообщение №")
Lord Chuma
Народ помогите мне с ьакой задачкой... blink.gif
Задание. "Используя структурированный тип строка, выполнить следующие действия с исходными данными. "
Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно выводиться на экран не более одного раза.

 ! 
1. Одна тема - один вопрос (правила, п. 6).
2. Не задавай свои вопросы в чужих темах

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.