Объясните, пожалуйста, почему у меня в этой программке выводится заключительная буква
Растолкуйте, пожалуйста, почему у меня в этой программке выводится последняя буква первого слова, а не второго, и что надо поправить, чтоб выводило заключительную букву второго слова предложения?
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
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов