Объясните, пожалуйста, почему у меня в этой программе выводится последняя буква первого слова, а не второго, и что надо исправит
ь, чтобы выводило последнюю букву второго слова предложения? Program vtor_bukva; Var S:String; Begin Writeln('введите исходное предложение: '); Readln(s); write('Последняя буква второго слова=',s[pos(' ',s)-1]); readln (s); end. Даю 20 баллов. Помогите, пожалуйста.
begin Writeln('введите исходное предложение: '); Readln(s); delete(s, pos(' ', s), 1); write('Последняя буква второго слова='); if pos(' ', s) <> 0 then write(s[pos(' ', s) - 1]) else write(s[length(s)]); readln(s); end.
Твоя программа выводит символ, стоящий перед ПЕРВЫМ пробелом. А нужно, чтобы выводила символ, стоящий перед вторым пробелом. Не стоит забывать, что второго пробела может и не быть. Так что, я удаляю первый пробел. А потом делаю проверку: есть ли ещё пробелы (if pos(' ', s) <> 0)? Если пробелы есть, то программа выводит букву, следующую перед вторым пробелом (или последнюю букву второго слова). Если пробелов нет (всего два слова в предложении было введено), то программа выводит последнюю букву (s[length(s)]). Если что-то не понятно, в лс.
A=(v-v0)/t s=v0*sqr(t)+a*sqr(t)/2 s=v0*t-g*sqr(t)/2 p.s. если g и a одно и то же,то вместо g пиши а если 2 разных s, то вводи 2 переменных s1 и s2 a и s будут реал