Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2013, 21:07   #1
forged
Пользователь
 
Регистрация: 25.02.2013
Сообщений: 57
По умолчанию Как вывести символ используя десятичного номера?

Скажите пожалуйста как вывести символ с помощью десятичного номера?
например как в это программе:
--------------------------------------------------------------------------
program abc;
uses crt;
var
a,b,c:string;
BEGIN
a:='123';
writeln(a[0]);
readln;
end.
--------------------------------------------------------------------------
Только в ней чтоб вывести символ я пишу a:='123'.
А как вывести символ по другому чтоб программа была по меньше, а то если выводить символ с порядковым номером 251 будет тяжело.
Скажите может какой оператор есть? М?
forged вне форума Ответить с цитированием
Старый 14.03.2013, 21:20   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Непонятно, что именно Вам нужно.
Попытайтесь как-нибудь иначе сформулировать условие.

Следующая программа выводит в точности то же самое, что и Ваша, но, как Вы и хотели - короче:
Код:
BEGIN
  writeln(#3);
  readln;
end.

Последний раз редактировалось s-andriano; 14.03.2013 в 21:26.
s-andriano вне форума Ответить с цитированием
Старый 14.03.2013, 21:37   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию


Код:
WriteLn(Chr (n))
Poma][a вне форума Ответить с цитированием
Старый 14.03.2013, 21:53   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Poma][a, а при чем здесь десятичный номер?
s-andriano вне форума Ответить с цитированием
Старый 14.03.2013, 22:23   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

s-andriano, я не совсем понял суть Вашего вопроса?

Код:
WriteLn (Chr(3))
Эквивалентен
Код:
WriteLn (#3)
Poma][a вне форума Ответить с цитированием
Старый 14.03.2013, 22:25   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Чего-то вы напридумывали оба. Я так понял, аффтару надо вывести символ строки по его номеру в строке. Только вот никак вкурить не могу, чего тяжелого в обращении к 251 символу?

И кстати говоря, уважаемый топикстартер, в Вашем примере ничего на экран не выведется - в паскале строковый массив с единицы считается, а не с нуля.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 14.03.2013, 22:30   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Вашем примере ничего на экран не выведется
Не соглашусь
Чтобы это проверить мне пришлось вырубить все проверки в компиляторе => код не ахти..

Давайте вспомним способ кодировки строк. Нулевой байт - размер строки! Но т.к. строка это размер символов, то Length(s) = Ord(s[0])

Поэтому в данном случае программа выведет Chr(3).

Цитата:
Я так понял, аффтару надо вывести символ строки по его номеру в строке.
Не) Нужно вывести символ с ASCII кодом.
Poma][a вне форума Ответить с цитированием
Старый 14.03.2013, 22:33   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Нулевой байт - размер строки!
Точно! Спасибо, Ромаха, поправил, конечно размер строки. Ну тогда ответ на вопрос, есть ли оператор - это функция length(s).

Блин, вот теперь я тоже запутался, чего нужно аффтару
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 14.03.2013, 22:38   #9
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Ну тогда ответ на вопрос, есть ли оператор - это функция length(s).
Мне кажется ответ не на тот вопрос
Автор собирается выводить символы, использую длину строки! Поэтому и идея вывести 251 символ ТС не очень нравится.
Poma][a вне форума Ответить с цитированием
Старый 14.03.2013, 22:40   #10
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

А тут никто точно не понимает, что именно нужно автору.
Варианты:
- определенный символ из строки,
- длину строки,
- символ с кодом равным заданному числу,
- как записать в коде вывод символа, используя его код в десятичном представлении.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить определенный символ на номера попорядку? antoha487 Помощь студентам 2 04.07.2012 22:48
Ввод десятичного числа в качестве аргумента для номера строки и столбца курсора Cheater13 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 24.05.2011 18:34
Как в задаче указать КРАТНЫХ №3?и еще вывести номера элементов? ketik Помощь студентам 1 10.12.2010 15:31
Как вывести символ клавиши которую нажал Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 13.11.2010 17:20
Как вывести символ в позиции 80,25 ? sanya_m Помощь студентам 2 13.03.2010 02:10