Поясните программу на Pascal

интернет программирование Наука делфи экзамены

var a:array[#0..#255]of byte;c:char;i:byte;s:string;
begin
readln(s);
for i:=1 to length(s) do inc(a[s[i]]);
for c:=#0 to #255 do if a[c]>0 then writeln(c,' - ',a[c]);
end.

Примечание:
Распишите каждую строчку подробно если можно.Или хотя ответь что это за решетки при описании массива и во втором цикле
Ответы:
#48 это символ с кодом 48, то есть '0' и так далее.(Вроде сhar(48) должно давать тот же самый эффект) А программа считает сколько каких символов в введённой строке
А что тут расписывать-то? Простая же прога. Решетка перед цифрой означает, что это аски символ с этим номером, как и сказали выше.
Программа явно в сыром виде, результат вывода непредсказуемый, и всегда разный.
В конечном итоге writeln выводит от 145 до 147 символов ASCII таблицы напротив них значения байт, только эти значения никак не сопоставимы с таблицей, опять же из-за недоработки.
i объявлена как byte, и при этом она используется в инкременте, к тому же инкремент внутри цикла, считай того же инкремента.
Код или выдран откуда-то не весь, или просто не дописан.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.