Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Удалить фигурные и квадратные

Автор: Korsar 1.12.2006 16:17

Народ помогите решить задачу пожалуйста.
Используя структурированный тип строка, выполнить следующие действия с исходными данными. В заданном тексте удалить фигурные и квадратные скобки и подсчитать число удаленных символов.

Автор: volvo 1.12.2006 16:25

Например, вот так:

  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 2.12.2006 2:57

благодарствую!!!!!!!!!!!!!!!

Автор: Korsar 2.12.2006 4:19

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

Автор: Ozzя 2.12.2006 11:28

Цитата(Korsar @ 2.12.2006 1:19) *

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

Спросить у преподавателя, КАК надо делать, не догадался?
Или ЧТО в программе ему не понравилось?
Нельзя операцию in
Цитата
in ['{', '}', '[', ']'])
использовать?
Или еще что-то?

Автор: Korsar 2.12.2006 15:35

Ну дак она даже не работает!!!!!

Автор: мисс_граффити 2.12.2006 16:30

так не бывает, чтобы программа volvo не работала!
и эта тоже работает....
вот:Прикрепленное изображение
а других вариантов решения... ну, при желании штук 5 разной степени извращенности я могу придумать.
только знать бы, что именно нужно твоему преподу.

Автор: Malice 2.12.2006 18:53

Цитата(мисс_граффити @ 2.12.2006 12:30) *

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

Просто она кол-во удаленных не считает, но это просто добавить самому.
Или препод ее не понял, т.к. способ интересный, мне бы в голову так не пришло smile.gif

Автор: мисс_граффити 2.12.2006 19:02

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

Автор: Korsar 3.12.2006 14:21

Цитата(мисс_граффити @ 2.12.2006 15:02) *

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

Ну начнем с того, что Korsar не смог ее обьяснить!!! smile.gif И еще: как написать ввод вывод? Подскажите пожалуйста что в этой задаче к чему!!!!! Я учился в деревенской школе у нас там вообще паскаля не было. Поступил на физика а мне тут мозги паскалем парят!!!

Автор: мисс_граффити 3.12.2006 17:24

ну и зачем было писать, что программа не работает?
тебе помогают, а ты....

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 17:46

Цитата(мисс_граффити @ 3.12.2006 13:24) *

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

Ну во первых спасибо тебе большое за помощь. Во вторых она и вправду у меня не работала, теперь понял почему просто я ее не правильно переписал!!! В третьих: тебе легко рассуждать, а я даже компов не видел до первого курса, нам монитор на доске рисовали!!! Я по своим предметам поступил на бюджет. А тут сразу паскаль блин!!!

Автор: мисс_граффити 3.12.2006 18:21

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

Автор: Korsar 5.12.2006 19:59

Цитата(мисс_граффити @ 3.12.2006 14:21) *

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

Спасибо за совет, но у самого не получается!!! unsure.gif

Автор: мисс_граффити 5.12.2006 23:18

ЧТО не получается?
найти длину строки?

Автор: Korsar 6.12.2006 13:58

Цитата
ЧТО не получается?
найти длину строки?

Да. Длину строки не могу найти.

Автор: volvo 6.12.2006 16:01

А во втором посте, кстати, длина строки находится... Смотри внимательнее...

Автор: Korsar 6.12.2006 23:27

Цитата
А во втором посте, кстати, длина строки находится... Смотри внимательнее...

Что за второй пост? Где он? smile.gif

Автор: Korsar 12.12.2006 0:27

Народ, помогите пожалуйста найти длину строки!!!

Автор: volvo 12.12.2006 0:35

Что такое Length(s), по-твоему?

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

Автор: Lord Chuma 1.10.2007 14:48

Народ помогите мне с ьакой задачкой... blink.gif
Задание. "Используя структурированный тип строка, выполнить следующие действия с исходными данными. "
Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно выводиться на экран не более одного раза.

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