Задача D: Системы счисления Сегодня Егор в школе проходил системы счисления, ему дали следующее определение представление числа в системе счисления:
Представлением целого положительного числа n в k-ичной системе счисления (k ≥ 2) называется последовательность целых неотрицательных чисел a1, ..., as такая, что ai ≤ k - 1 для всех i = 1...s и a1 ≠ 0, а также as + as - 1 · k + as - 2 · k2 + ... + a1 · ks - 1 = n.
Например, представлением числа 6 в двоичной системе счисления является последовательность 1, 1, 0, т.к. 0 + 1 · 2 + 1 · 4 = 6, а представлением числа 120 в одиннадцатири
//Версия 3.3. сборка 1583 (25.11.2017)
var
n:integer;
a:array[1..100] of integer;
begin
write('Введите размер массива (n<100): ');readln(n);
var max:=0;
var min:=101;
for var i:=1 to n do
begin
a[i]:=random(0,100);
write(a[i],' ');
if i mod 2=1 then
if a[i]>max then max:=a[i]
else
if a[i]<min then min:=a[i];
end;
writeln;
writeln('Максимальный - ',max);
writeln('Минимальный - ',min);
writeln('Cумма максимального и минимального - ',max+min);
readln;
end.
Пример:
Введите размер массива (n<100): 10
22 6 51 84 46 66 10 36 14 52 // рандомная генерация
Максимальный - 51
Минимальный - 10
Cумма максимального и минимального - 61
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)]). Если что-то не понятно, в лс.