![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
DIMMUA |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
Добрый день.
1. Обясните что такое string и что такое char? Нет, только не надо говорить, что string - это строчная переменная, а char - это текст, это мне сказал препод в универе (к сожалению больше я ничего из него выдавил). Меня инетересует, чем на практике отличаются string от char ? Ну может, допустим char можно как-то сортировать, а string нет и т.д..... 2. Что такое packed array? Ну вот написано b=packed array[1..30] of char ? Что такое array (массив я знаю), что он char (символьный) я догадался, но вот "packed array" - такого я не знаю. 3. Далее я приведу кусочек из моего текста программы: Program lab; В общем условие: дана строка s, в неё входят слова, между словами не меньше одного проблема, после последнего слова точка(!). Нужно найти это последнее слово и записать в переменную d. Впринципе у меня все работет, но вот буквы из в приходятся "выуживать" (for i:=1 to j do), т.е. если написать просто writeln(d) получается фигня. Далее если написать length(d) - длина d, то паскаль выводит значение 0(!), хотя я туда заносил буквы. Я кончено пробовал типа d[0]:=5 - и оно тогда при writeln(d) выводил только пять букв, но дело в том, что я же не знаю сколько букв в этом слове. Конечно, значение переменной j и есть кол-во букв, на вот d[0]:=j паскалю не нравится. Вот как сделать так, что я мог нормально знать длину строки d. И еще (может идею подкинете ![]() P.S. Прикрепил скан с методички, ну что бы вы посмотрели, что полезного в ней много не найдешь. И свой текст программы. Сообщение отредактировано: DIMMUA - 23.04.2007 23:06 Эскизы прикрепленных изображений ![]() Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата не надо говорить, что string - это строчная переменная, а char - это текст ![]() Char - какой же это текст? Это символ, в смысле - ОДИН символ... Значит, так: про использование packed array можешь забыть - это стандартный паскаль, в нем не было String-ов, поэтому пользовались упакованными массивами символов... Теперь, почему тебе Цитата приходятся "выуживать" содержимое D... Все просто - ты же работаешь со строкой "вручную" - но при этом совсем не заботишься об установке длины строки, хранящейся в нулевом символе... "А ларчик просто открывается" (С) - достаточно было просто пройти от конца строки к началу, пока не встретишь либо САМОЕ начало строки, либо пробел:i := length(s) - 1; По поводу Цитата После того как я нашел последнее слово, я должен просмотреть всю строку и вывести только те слова, которые отличаются от последнего слова - в разделе "Задачи" есть прикрепленная тема - "Разбиение строки на слова", посмотри там способ klem4, он самый простой, но эффективный...Сообщение отредактировано: volvo - 24.04.2007 11:00 |
DIMMUA |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
в разделе "Задачи" есть прикрепленная тема - "Разбиение строки на слова", посмотри там способ klem4, он масый простой, но эффективный... Спасибо, посмотрел... Но буду переделывать способ klem4 т.к. мы впринципе TWords, text, words - ничего подобного не учили ![]() ![]() Но большое спасибо, за то что рассказал про "d", "packed array" а тоя уже воообще чувствовал себя идиотом ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:16 |