В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Elnarikys
Elnarikys
01.11.2022 05:53 •  Информатика

Объясните, , почему у меня в этой программе выводится последняя буква первого слова, а не второго, и что надо исправить, чтобы выводило последнюю букву второго слова предложения? program vtor_bukva; var s: string; begin writeln('введите исходное предложение: '); readln(s); write('последняя буква второго слова=',s[pos(' ',s)-1]); readln (s); end. 20 . , .

Показать ответ
Ответ:
NikaName007
NikaName007
07.10.2020 09:53
Program vtor_bukva;

var
  S: String;

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)]). Если что-то не понятно, в лс.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота