|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.03.2013, 14:26 | #1 |
Регистрация: 24.03.2013
Сообщений: 6
|
Паскаль. Обработка символьных данных.
Здравствуйте, уважаемые форумчане) Очень нужна ваша помощь. Со строками ещё со школы не дружу, поэтому мне никак не даётся данная задачка. Сколько бы я над ней не билась) Буду вам очень благодарна за помощь)
Условия: - Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результат на дисплей в виде строки. - Длина строки заранее не вводится, а определяется после окончания ввода с клавиатуры. - В строке группы символов разделяются одним или несколькими пробелами. Пробелы могут находиться в начале и в конце строки. Группа символов - последовательность букв, цифр или знаков, отделенная пробелами от других групп или находящаяся в начале/конце строки. - Все буквы считать вводимыми только в нижнем регистре, Заглавные буквы не рассматривать. - В заголовок окна программы записать свои данные: имя, фамилию и номер варианта. Примеры возможных строк: ‘ 12.3 tryi yu ()?*‘, ‘ 6е-1 swty +12_3‘ Сама задача: Напечатать симметричные группы символов из строки, если они состоят только из цифр. Например, строка: ‘ !2! 12321 reter 123 508805’ ; результат: ‘12321 508805’ Спасибо за внимание |
24.03.2013, 14:50 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Для начала напишите программу, которая просто вводит строку, а затем выводит ее на экран.
Потом последовательно нужно будет написать еще 3 процедуры: - разбиение строки на "группы символов", - анализ группы символов на симметричность, - анализ группы символов на то, что она содержит только цифры. |
24.03.2013, 17:14 | #3 |
Регистрация: 24.03.2013
Сообщений: 6
|
|
24.03.2013, 19:54 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Я же написал, что нужно сделать сначала.
Где? |
24.03.2013, 20:32 | #5 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
пусть в переменной Gr находится очередная группа символов (БЕЗ пробелов!)
Цитата:
Код:
Цитата:
Код:
|
||
25.03.2013, 00:02 | #6 |
Регистрация: 24.03.2013
Сообщений: 6
|
Serge_Bliznykov, спасибо большое за примеры кода, теперь мне более-менее понятно)
s-andriano, завтра покажу вам весь код, Сэнсэй х) как-то так... в конце вообще бред. не получается у меня симметричность найти Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Stilet; 27.03.2013 в 23:18. |
25.03.2013, 20:47 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Так чем Вас мой пример не устроил?!
Вы поменяли алгоритм, причём - изменили так, что он стал нерабочим. подумайте, что будет делать Ваш код, если группа, например, такая: 1275421 прямо, на листике с бумажкой пройдитесь по циклу, посмотрите, что будет происходить... |
25.03.2013, 21:00 | #8 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Qifir, а Вы не могли бы прокомментировать код?
Обычно именно это позволяет самому найти ошибки в своем коде без посторонней помощи. Ну и, кроме того, Ваш код оставляет весьма странное впечатление: с одной стороны Вы аккуратно избавляетесь от всех лишних пробелов (что, конечно, полезно, но условием не регламентируется), но при этом даже не пытаетесь сделать то, чего требует условие. Тем более, что код двух нужных блоков уже был приведен Serge_Bliznykov, но Вы его не используете. Да и название переменных у Вас почему-то совсем не такие, как в коде Serge_Bliznykov. Складывается впечатление, что Вы вообще ничего даже не пытались сделать, а вместо этого взяли первый попавшийся не относящийся к теме исходник, и выдаете его за собственные попытки. |
25.03.2013, 21:16 | #9 |
Регистрация: 24.03.2013
Сообщений: 6
|
Признаюсь, чужой код был бессовестно украден из одного источника с примерами строковых задач, где требовалось найти целые, вещественные числа и слова, но я его адаптировала под мои условия. первая часть программы без проблем находит и выводит числа. При попытке использовать примеры Serge_Bliznykov, Паскаль взбунтовался и выдавал ошибки, которые я безрезультатно пыталась исправить) С процедурами и функциями у меня так же туговато.
Прокомментировать могу так: первая часть программы находит и выводит на экран через пробел все части строк, содержащие только цифры. А дальше у меня были мысли из новой, сформировавшейся строки найти числа, которые симметричны. Честно, ковырялась 2.5 часа, но ничего не смогла придумать. Можете закидать помидорами |
25.03.2013, 22:13 | #10 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Вообще-то первая часть приведенного вами кода (примерно половина по объему) очищает строку от лишних пробелов. А вот вторая, действительно, отфильтровывыает только цифры, но совсем не тем методом, что предложил Serge_Bliznykov.
А разница в том, что код Serge_Bliznykov работает корректно, а тот, что у Вас правильно будет работать лишь на последовательностях, не превосходящих 4-5 цифр. И все-таки приведите Ваши попытки объединить свой код с предложенным Serge_Bliznykov. PS. 2.5 часа - совершенно недостаточное время, чтобы хоть чуть-чуть научиться программировать. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка символьных данных | Ксения love | Помощь студентам | 1 | 25.01.2013 00:32 |
Обработка символьных данных. Паскаль.... | Миша_misha | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.03.2012 15:49 |
Обработка символьных данных | Солнышконанебе | Помощь студентам | 4 | 27.02.2012 14:21 |
обработка символьных данных | Olgaandsasha | Помощь студентам | 3 | 04.02.2012 17:07 |
обработка символьных данных. паскаль | кусака | Помощь студентам | 8 | 26.04.2010 17:28 |