![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 28.04.2010
Сообщений: 11
|
![]()
Правильно ли я понимаю, что процедуры -функция должны выглядеть так как в прикреплённых файлах?
Мне ещё нужно решить две вот такие задачи: 1. В строках s1 и s2 записаны два слова, состоящие из букв английского алфавита. Написать процедуру-функцию, определяющую, может ли первое слово быть построено из букв второго слова. Здесь число вхождений каждой буквы в первое слово ограничено числом ее вхождений во второе слово. 2. В строках s1 и s2 записаны два слова, состоящие из букв английского алфавита. Написать процедуру-функцию, определяющую, является ли первое слово перестановкой (с повторениями того же состава) букв второго слова. Может, поможете? Последний раз редактировалось Stilet; 02.06.2010 в 16:24. |
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
В Паскале существуют стандартные функции для работы со строками, они находятся в модуле strings. Например, функция pos(подстрока, строка) возвращает позицию первого символа подстроки в строке. Т.е. pos('el', 'Hello!') возвращает 2. Если подстрока не включена в строку, функция возвращает ноль.
Если вы получили задание на работу со строками, экзаменаторы в 90% случаев ждут от вас именно знания стандартных функций работы со строками - упомянутой pos, функции copy(строка, i, j), функции lenght(строка) и функции delete. И будь вы хоть 1000 раз крутым прогером, большинство преподов будет требовать от вас "стандартного" ответа. С использованием упомянутых стандартных функций третья из ваших функций реализуется так Func3 (s : string; i : word):word - возвращает номер позиции последней литеры i-го слова строки s Код:
Последний раз редактировалось Stilet; 02.06.2010 в 16:25. |
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 30.04.2010
Сообщений: 317
|
![]() Код:
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
DoDge_VipeR
проще)) Просто у нас в вузе есть преподы, которые требуют использовать "текущую тему" на 100%, даже если это не рационально. Например, вычислять значение простейшего интеграла разложением в ряд, потому что проходим ряды. Вот и привычка сформировалась. 1) Func1 (s : string):word - возвращает количество слов в строке s - фактически число слов равно числу пробелов+1 т.е Код:
Т.е. возвращает номер i-1 пробела, увеличенный на 1. Задача почти такая же, как задача 3 Код:
Последний раз редактировалось Stilet; 04.06.2010 в 12:23. |
![]() |
![]() |
![]() |
#15 | |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]() Цитата:
Перемешивай дело с бездельем и не сойдешь с ума...
Последний раз редактировалось Grag; 04.06.2010 в 11:36. |
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
Я и собираюсь работать с копией строки. В этой программе требуется возвращать только позицию символа, а что, если потребуется вернуть еще и сам символ? А строка уже затерта?
|
![]() |
![]() |
![]() |
#17 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]()
Мдя уж... Ты не поняла мою мысль... Дело в том, что передавая строку как параметр-значение, ты в процедуре/функции уже создаешь ее копию и работаешь именно с копией... Так зачем внутри процедуры/функции создавать еще переменную и ей присваивать параметр-значение, создавая дубликат уже имеющейся копии... Масло-масляное, как говорится...
Перемешивай дело с бездельем и не сойдешь с ума...
|
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
Ты меня тоже не понял
Дело в том, что передавая строку как параметр-значение, ты в процедуре/функции уже создаешь ее копию и работаешь именно с копией... Это не дает мне затереть глобальную переменную, которую я передаю из основной программы. А "первоначальная копия" прекрасно затирается. Я привела конкретный пример Func3 (s : string; i : word):word - возвращает номер позиции последней литеры i-го слова строки s пусть нужно вернуть не номер позиции, а саму литеру. Где функция возьмет эту литеру, если она затерла s? Побежит искать глобальную переменную? |
![]() |
![]() |
![]() |
#19 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Код:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#20 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]()
2 Снежная... Есть разные алгоритмы поиска...
Перемешивай дело с бездельем и не сойдешь с ума...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Строки Паскаль | Antonio_getscool | Помощь студентам | 1 | 19.12.2009 15:12 |
Паскаль,строки! | DjDeniels-61 | Помощь студентам | 1 | 15.11.2009 12:15 |
Паскаль, строки | Паскалька^^ | Помощь студентам | 7 | 25.10.2009 15:39 |