Задать вопрос
@mikkeyPG

Что делает эта строка в pascal?

Что делает второй for, зачем здесь ord и зачем отнимать 48?

procedure StrToMass(var a:mass; var s:string);
var i:integer;
begin
for i:=1 to 9 do
a[i]:=0;
for i:=1 to length(s) do
inc(a[ord(s[i])-48]);
end;
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
xpert13
@xpert13
Full Stack Developer
Второй for делает проход по символам строки и, на сколько я понимаю, считает количество символов от 0 до 9. Ord нужен для того, что перевести символ в числовое значение по таблице ascii, а 48 отнимают, потому что цифры в этой таблице начинаются как раз от 48.

P.S. Редкий быдлокод, извините.

ASCII Table
ASCII-Table.svg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы