Б) Напишите функцию для определения позиции буквы в заданной строке. Функция должна вернуть позицию первой такой буквы или ноль, если буквы в строке нет. Напишите программу для проверки функции.
В книге с ответами есть ответ на задание " В ".
Вот мои потуги:
- Код: Выделить всё
{--- funkcya ---}
function Poisk(const str : string;
ch : char) : integer;
var i, N : integer;
begin
Poisk := 0;
i := 1;
repeat
if str[i]= ch
then Poisk := 0 + i;
until Poisk > 0;
end;
{--- glavnaya programma ---}
var S : string;
begin
Write(' Vvedite stroku, '); Readln(S);
Writeln(Poisk(S, 'A'));
Readln;
end.
В чем моя ошибка? Help, please.
Добавлено спустя 16 минут 16 секунд:
Нашел ответ в другой теме:
- Код: Выделить всё
function poisk(str:string;ch:char):integer;
var i : integer;
begin
poisk:=0;
for i:=1 to length(str) do
if str[i]=ch then
begin
poisk:=i;
break;
end
end;
Сбило меня с толку что команда break работает вместе с until.
И все же. Почему мой код не работает?