Вкантакте однокласникт и твитер
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)]). Если что-то не понятно, в лс.
Var n:integer;
procedure del(x:integer);
var d:integer;
begin
d:=2;
if(x>1)then begin
while x mod d<>0 do d:=d+1;
if(x div d >1)then write(d,'*')
else write(d);
del(x div d)
end
else exit;
end;
begin
read(n);
write(n, ' = ');
if(n<2) then write(n)
else del(n);
end.