Предмет: Информатика, автор: ell700

В первой строке дано слово из маленьких английских букв. Во второй строке задана буква. Если этой буквы нет в слове, выведите −1, а если есть — номер самой правой позиции в слове, где стоит такая буква. Позиции нумеруются с единицы слева направо.

пример ввода пример вывода
steppe 6
e

пример ввода пример вывода
boat -1
r

Ответы

Автор ответа: 7limonchiK7
3

var txt1, txt2:string;

count, i:integer;

begin

count:=-1;

write('Введите слово: ');

readln(txt1);

writeln('Местоположение какой буквы в слове "', txt1, '" необходимо вернуть?') ;

readln(txt2);

for i:=1 to txt1.length do

if (txt1[i] = txt2) and (count=-1) then

begin

count := i;

end;

write('Буква ', txt2, ' в строке "', txt1,'" имеет местоположение: ', count) ;

end.


ell700: первый вариант прошёл а второй boat нет... эх
7limonchiK7: Как не прошел? Вот, это вывод с консоли
7limonchiK7: Введите слово: boat
Местоположение какой буквы в слове "boat" необходимо вернуть?
r
Буква r в строке "boat" имеет местоположение: -1
ell700: var txt1, txt2:string;
count, i:integer;
begin
count:=-1;
readln(txt1);
readln(txt2);
for i:=1 to txt1.length do
if (txt1[i] = txt2) and (count=-1) then
begin
count := i;
end;
write(count) ;
end.
ell700: steppe
e
3
ell700: вот что эта зараза выводит
ell700: a boat теперь правильно
7limonchiK7: всё правильно, оно выводит местоположение первой буквы, если таких там несколько, другого в условии не просили, конечно, можно такое сделать, но не просили ведь)
7limonchiK7: поэтому использовалась конструкция с if count = -1, чтобы выводило именно 1 букву, а не последнюю
ell700: спасибочки
Похожие вопросы
Предмет: Алгебра, автор: ник5295
Предмет: Математика, автор: Кирилл5ДОК