Подсчёт длинны строки - Pascal
Формулировка задачи:
У меня такой вопрос, можно ли подсчитать кол-во элементов строки не используя Length. Если можно то, как.
var A:String ; Q:integer ; Begin Readln (a) ; //А тут подсчитать размер строки не используя Length End;
Решение задачи: «Подсчёт длинны строки»
textual
Листинг программы
function mylength(s:string):integer;
var i:integer;
begin
i:=0;
while s<>'' do begin delete(s,1,1);inc(i) end;
mylength:=i
end;
begin
writeln(mylength('string'))
end.
Объяснение кода листинга программы
- Объявляется функция с именем
mylength, которая принимает строковый аргументsи возвращает целочисленное значение. - Объявляется переменная
iтипа integer и устанавливается значение 0. - В цикле
whileвыполняется следующее:- Пока строка
sне пустая:- Удаляется первый символ из строки
sс помощью функцииdelete(удалить 1 символ, начиная с позиции 1). - Увеличивается значение переменной
iна 1 с помощьюinc(i).
- Удаляется первый символ из строки
- Пока строка
- Функция возвращает значение переменной
i. - В основной части программы выполняется вызов функции
mylengthс аргументомstring. - Результат выполнения функции выводится на экран с помощью
writeln.