Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

произвольн строка на русском языке. если строка начинается и заканчивается на одну и ту же гласную букву вывести "да"

Наталья Владимировна Знаток (312), закрыт 5 лет назад
var
st:string;
k,u:string;
begin
readln(st);
k:=Pos ('у, е, ы, а, о, э, я, и, ю',st);
u:=Pos('у, е, ы, а, о, э, я, и, ю',st);
if (LeftStr(str,1)=RightStr(str,1))
then writeln('да')
else writeln('нет');
end.
Где ошибка?
Лучший ответ
Krab Bark Искусственный Интеллект (281862) 5 лет назад
Тут легче перечислить, где не ошибка ;)

var s:string;
begin
readln(s);
if (s[1]=s[length(s)])and(pos(s[1],'уеыаоэяию')<>0) then writeln('да')
else writeln('нет');
end.
Наталья ВладимировнаЗнаток (312) 5 лет назад
А вместо квадратных скобок можно круглые?
Что мешает попробовать? Вообще, в Паскале нет таких случаев, когда круглые скобки можно заменить на квадратные или наоборот.
Остальные ответы
kaiu Высший разум (115454) 5 лет назад
st
а что такое str ?
Наталья ВладимировнаЗнаток (312) 5 лет назад
все равно ошибка
6 строка Нельзя преобразовать тип integer к string
kaiu Высший разум (115454) А зачем вам вообще 6 строка? Можно и так if (Length(st) > 0) and ( (st[1]='а') OR (st[1]='А') OR и так далее гласные ) and (st[1] = st[Length(st)]) then writeln('да'); Выводить ли нет не сказано.
Άηϑρέΰ ҂ Искусственный Интеллект (179765) 5 лет назад
k,u - это строки, а Pos возвращает позицию! это integer, вот и ошибка
D P Мудрец (11101) 5 лет назад
Наталья, ваша задача на паскале ВООБЩЕ не решается с наскока ибо задача поставлена некорректно. Строка на русском языке записана не просто так а в какой-то КОДИРОВКЕ, и не зная ее заранее манипулировать с символами будет ОЧЕНЬ СЛОЖНО, так как потребуется каким-то методом эту кодировку постараться определить. Сообщите эту радостную весть тому, кто вам ее задал. Если до него не дойдет, предложите написать свой вариант а потом скормите ему строку в кодировке utf8 и utf16 и понаблюдайте за результатом.
Похожие вопросы