Нужно решить на паскале (ABC) Дано предложение, в котором имеется несколько букв е. Найти: а) порядковый номер первой из них; б) порядковый номер последней из них. Спасибо
Ответы
Ответ дал:
1
var a,c,f:integer;
d:string;
begin
f:=0;
writeln('введите строку');
readln(d);
a:=pos('е',d);
writeln('первый символ стоит на ',a,' позиции');
for c:=1 to length(d) do begin
if (d[c] = 'е') then f:=c;
end;
writeln('последний символ стоит на ',f,' позиции');
end.
d:string;
begin
f:=0;
writeln('введите строку');
readln(d);
a:=pos('е',d);
writeln('первый символ стоит на ',a,' позиции');
for c:=1 to length(d) do begin
if (d[c] = 'е') then f:=c;
end;
writeln('последний символ стоит на ',f,' позиции');
end.
Аноним:
Алгоритм работающий, но не оптимальный: надо искать позицию последнего вхождения буквы хотя бы с символа, следующего после позиции, обозначенной переменной a
Ответ дал:
1
{ PascalABC.Net }
var
s:string;
i:integer;
begin
Writeln('Введите строку: ');
Readln(s);
Writeln('Позиция первой "е": ',Pos('е',s));
Writeln('Позиция последней "е": ',Pos('е',ReverseString(s)))
end.
Тестовое решение:
Введите строку:
Строка - тестовое решение для PascalABC.Net
Позиция первой "е": 11
Позиция последней "е": 19
var
s:string;
i:integer;
begin
Writeln('Введите строку: ');
Readln(s);
Writeln('Позиция первой "е": ',Pos('е',s));
Writeln('Позиция последней "е": ',Pos('е',ReverseString(s)))
end.
Тестовое решение:
Введите строку:
Строка - тестовое решение для PascalABC.Net
Позиция первой "е": 11
Позиция последней "е": 19
Похожие вопросы
1 год назад
1 год назад
1 год назад
1 год назад
6 лет назад
8 лет назад