Задать вопрос
@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;
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Pascal с нуля
    1 неделя
    Далее
  • АПОК
    Инженер-программист - курс переподготовки
    1 месяц
    Далее
  • ЭКОДПО
    Инженер-программист - переподготовка
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
xpert13
@xpert13
Full Stack Developer
Второй for делает проход по символам строки и, на сколько я понимаю, считает количество символов от 0 до 9. Ord нужен для того, что перевести символ в числовое значение по таблице ascii, а 48 отнимают, потому что цифры в этой таблице начинаются как раз от 48.

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

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

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

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