Объясните, пожалуйста, почему у меня в этой программке выводится заключительная буква
Растолкуйте, пожалуйста, почему у меня в этой программке выводится последняя буква первого слова, а не второго, и что надо поправить, чтоб выводило заключительную букву второго слова предложения?
Program vtor_bukva;
Var
S:String;
Begin
Writeln('введите начальное предложение: ');
Readln(s);
write('Заключительная буковка второго слова=',s[pos(' ',s)-1]);
readln (s);
end.
Даю 20 баллов. Помогите, пожалуйста.
1 ответ
Ромыш
Арсений
Program vtor_bukva;
var
S: String;
begin
Writeln('введите начальное предложение: ');
Readln(s);
delete(s, pos(' ', s), 1);
write('Последняя буковка второго слова=');
if pos(' ', s) lt;gt; 0 then write(s[pos(' ', s) - 1])
else write(s[length(s)]);
readln(s);
end.
Твоя программка выводит символ, стоящий перед ПЕРВЫМ пробелом. А необходимо, чтоб выводила знак, стоящий перед вторым пробелом. Не стоит забывать, что второго пробела может и не быть. Так что, я удаляю 1-ый пробел. А позже делаю проверку: есть ли ещё пробелы (if pos(' ', s) lt;gt; 0)? Если пробелы есть, то программа выводит буковку, следующую перед вторым пробелом (или последнюю буковку второго слова). Если пробелов нет (всего два слова в предложении было введено), то программка выводит заключительную буковку (s[length(s)]). Если что-то не понятно, в лс.
var
S: String;
begin
Writeln('введите начальное предложение: ');
Readln(s);
delete(s, pos(' ', s), 1);
write('Последняя буковка второго слова=');
if pos(' ', s) lt;gt; 0 then write(s[pos(' ', s) - 1])
else write(s[length(s)]);
readln(s);
end.
Твоя программка выводит символ, стоящий перед ПЕРВЫМ пробелом. А необходимо, чтоб выводила знак, стоящий перед вторым пробелом. Не стоит забывать, что второго пробела может и не быть. Так что, я удаляю 1-ый пробел. А позже делаю проверку: есть ли ещё пробелы (if pos(' ', s) lt;gt; 0)? Если пробелы есть, то программа выводит буковку, следующую перед вторым пробелом (или последнюю буковку второго слова). Если пробелов нет (всего два слова в предложении было введено), то программка выводит заключительную буковку (s[length(s)]). Если что-то не понятно, в лс.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Облако тегов