1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
помогите написать 1 програмку, замена букв в строке
Буду очень благодарен, если вы хоть как-то поможете с написанием этой программы: Зашифруйте фразу, заменив букву а на у, букву и на ю и букву е на букву я. После запроса расшифруйте фразу. (принцип: в окне пользователя пользователь сам вводит любую фразу, далее заменяются соответствующие буквы и фраза выдается в зашифрованном виде. Далее программа спрашивает: "расшифровать фразу?", если вы отвечаете "да" то происходит обратная замена букв и вывод первоначальной фразы.) заранее всем благодарен!
Проходишь по строке, анализируя каждый символ... если это а, и или е, заменяешь как расшифровывать - непонятно.
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
var s: string; i: integer; begin readln(s); for i:=1 to length(s) do begin case s[i] of 'à': s[i]:='ó'; 'è': s[i]:='þ'; 'å': s[i]:='ÿ'; end; end; writeln(s); readln end.
умно но помоему непроканает.. нужно как то запоминать какие символы в введенной строке были зашифрованы, а при расшифровке именно их и расшифровывать, а не другие.
УРА!!!!!!!!!!!!!!!!!!!!!!!!!!! Все работает! Спасибо всем вам большое за помощь!!!! в особенности Айре! Даже не предполагал, что столько людей откликнется мне на помощь! Еще раз спасибо всем!
Мне не совсем понятно что значат следующие фразы в программе:
ch - в своей программе я так обозвала)) массив, содержащий номера изменяемых символов. length - строковая функция, которая вычисляет длину (количество символов) в строке. Т.е. length(s) вычислит, сколько символов в строке s. case - это оператор выбора. Он позволяет выбрать из нескольких вариантов и для каждого можно прописать соответствующее действие. Например, в этом фрагменте:
case s[ch[i]] of {сначала вычисляется значение s[ch[i]], а потом смотрится} 'у': s[ch[i]]:='а'; {если s[ch[i]] равно символу 'у', то выполняется одно действие} 'я': s[ch[i]]:='е'; {если s[ch[i]] равно 'я', то - другое, и т.д.} 'ю': s[ch[i]]:='и'; end;
inc - процедура, увеличивающая значение числа в скобках inc(j), по умолчанию на 1, а если написать так: inc(j,5), то, соответственно, на пять. Если еще что непонятно, спрашивай, объясним