![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Vardes |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если задать текст таким образом:
Код var txt: array[1..3] of string; i:byte; begin for i:= 1 to 3 do readln(txt[i]); {Ввод текста,состоящего из 3-х строк} Каким же образом проверить каждый элемент на условие.Например,если один из элементов строки :='A', то этот элемент примет значение :='..--'. Данная задача связана с азбукой МОРЗЕ. И ещё есть вопрос КАК элементу строки присвоить сразу несколько элементов из кодовой таблицы ASII. Код txt[i]:=chr(16);{Надо, чтоб он также принимал chr(17),получится как бы chr(16,17),но это неправильно.} КАК это можно осуществить. Сообщение отредактировано: Vardes - 28.11.2005 11:29 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Vardes?
Цитата КАК элементу строки присвоить сразу несколько элементов из кодовой таблицы ASII. Никак. Забудь об этом, это невозможно... "Элемент строки" - это символ, а символ может принимать только одно значение из таблицы ASCII... Лучше скажи, ЗАЧЕМ тебе это понадобилось, может быть найдем более подходящее решение? Цитата Каким же образом проверить каждый элемент на условие. Я не понял, ты хочешь в каждой строке проверять ВСЕ вхождения "A" и заменять их на аналог из азбуки Морзе? Тогда так: For i := 1 To 3 {число строк} Do BeginТолько учитывай, что длина строки ограничена 255 символами... |
Vardes |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне необходимо после ввода текста заменить все его элементы на код Морзе,вот и думаю как это проще сделать.
Если делать это вышеуказанным методом,то как-то нерационально получится. Сообщение отредактировано: Vardes - 28.11.2005 12:03 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Вот так:
type И, еще раз, следи за длиной строки !!! Очень может быть, что результат преобразования в код Морзе будет длиннее 255 символов... |
Vardes |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот такой вопрос.
Необходимо также перевести маленьки буквы и символы.Но если задать их как перечисляемый тип,то программа не работает. Значит следует их задавать через кодовую таблицу? Код const alpha:['128'..'159']; alphal:['160'..'175']; alphad:['224'..'239']; .... .... morze_ch: array['128'..'159'] of string[5] = ... ... if ord(s[j]) in alpha then txt[i] := txt[i] + ord(morze_ch[ s[j] ]); ... Вот так можно ли осушествить? Сообщение отредактировано: Vardes - 28.11.2005 23:24 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Vardes, в той программе, которую я тебе привел, ты НЕ СОИЗВОЛИЛ заметить, что используются И маленькие буквы, И цифры?
Сколько же можно говорить в пустоту. Сами же спрашивают, и сами СЛУШАТЬ не хотят !!! |
Vardes |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: ![]() ![]() ![]() |
Обратите внимание plz на пост №5 я его отредактировал.
НО при вводе массива,который меняет маленькие буквы кирилицы на код морзе,требуется до бесконечности вводить кодировку,т.е не 33 раза надо вводить кодировку '--.','--.-', а до бесконечности,он не видит границы алфавита. |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата он не видит границы алфавита. А у тебя не вызывает подозрений, что мой код "видит" границы алфавита, а твой - нет? Это потому, что у тебя алфавит задан неверно... Ты вообще не имеешь права индексировать массивы строками, как написал в посте №5... |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
P.S. Кстати, проблема-то у тебя скорее всего в том, что множество символов кириллицы - "разорванное":
'а' .. 'п', 'р' .. 'я' и между 'п' и 'р' есть еще 48 символов ... То есть тебе нужно будет делать так: type |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 19:36 |