LenaFree Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 Очень нужна помощь! Нужно решить задачку на Pascale по строкам: Каждое слово текста преобразовать так, чтобы оно читалось наоборот!! Заранее огромное спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 LenaFree: Очень нужна помощь! Куда запропастились Чип и Дейл? :) Ну да ладно, обойдемся... :) program Palindroms; var t:string; i,j,k:integer; begin WriteLn('Vvedite tekst ');ReadLn(t); k:=0; t:=t+' '; for i:=1 to Length(t) do if t>='0' then k:=k+1 else begin if k<>0 then begin for j:=i-1 downto i-k do Write(t[j]); k:=0 end; Write(t); end; WriteLn; ReadLn; end. Ссылка на комментарий Поделиться на другие сайты Поделиться
boogger Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 LenaFree: Куда запропастились Чип и Дейл? :) Ну да ладно, обойдемся... :) program Palindroms; var t:string; i,j,k:integer; begin ...skip... end. Еще можно загнать строку в массив символов, а потом переопределить порядок в массиве наоборот и собрать из нового массива строку. Ссылка на комментарий Поделиться на другие сайты Поделиться
LenaFree Опубликовано 5 апреля, 2007 Автор Жалоба Поделиться Опубликовано 5 апреля, 2007 Тролль, честно не поняла о чем это ты: Куда запропастились Чип и Дейл? Ну да ладно, обойдемся... ;) А за прогу большое спасиба,только у меня вопросик: почему не выводится последнее слово?? Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 (изменено) boogger: Строка и есть массив символов - только для нее в языке ограничен диапазон индексов элементов и дополнительно определены несколько дополнительных операций над всем массивом сразу. Но надо не текст в обратном порядке воспроизвести, а каждое слово из текста перевернуть, при этом порядок слов в тексте должен остаться прямым. Поэтому в программе пришлось реализовать грамматический разбор текста с выделением слов, с учетом того, что в тексте слова могут разделяться неопределенным количеством пробелов и знаками препинания. Программа и работает с введенной строкой в основном как с обычным массивом символов, через индексы элементов, поскольку строки - просто частный вид массивов символов. Почти без переделок в этой программе можно было бы вообще вместо строки использовать обычный массив, только немного сложнее будет ввод и длину введенного текста придется определять не готовой функцией, а подсчетом или по аналогии со строками в языке C - до спецсимвола конца строки. P.S. LenaFree: о чем это ты: Куда запропастились Чип и Дейл?Это был такой очень популярный мультсериал: "Чип и Дейл спешат на помощь" Последнее слово не выводится, наверное, потому, что у тебя при копировании пропал пробел между апострофами в операторе t:=t+' '; Потому что конец слова в программе определяется по тому, что за ним следует пробел или знак препинания, а за последним словом введенного текста его чаще всего нет. Поэтому сразу после ввода текста программа дополняет введенную строку пробелом, чтобы конец последнего слова можно было определять таким же способом, как и всех предыдущих. Изменено 5 апреля, 2007 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 5 апреля, 2007 Жалоба Поделиться Опубликовано 5 апреля, 2007 Тролль: привет ЧИП :) но насколько я помню что строка не эквивалент массива, тк есть две реализации нулевой байт счётчик или же последний байт 0, есть реализация 0А0D - какой то из вариантов из Си, какой забыл. :D Ссылка на комментарий Поделиться на другие сайты Поделиться
LenaFree Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 P.S. LenaFree:Это был такой очень популярный мультсериал: "Чип и Дейл спешат на помощь" :) Получается, что ты-мои верные помошники-бурундучки (2 в 1)!!! :D Я даже не знаю как тебя отблагодарить.... Надеюсь, что сегодня сдам уже эту прогу!!! Спасибо тебе большое!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
LenaFree Опубликовано 6 апреля, 2007 Автор Жалоба Поделиться Опубликовано 6 апреля, 2007 P.S. LenaFree:Это был такой очень популярный мультсериал: "Чип и Дейл спешат на помощь" :D Я хочу выразить тебе глубокую признательность!!! и благодарность!!! Я была бы счастлива, если бы мне не задали еще парочку задач: ей так понравился твой рациональный алгоритм! :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти