Необходимо реализовать на c++ dynamic 12. (dynamic 11 для дополнения к 12)
dynamic11◦. дан указатель p1 на вершину стека (если стек пуст, то p1 = nil).
также дано число n (> 0) и набор из n чисел. описать тип tstack —
запись с одним полем top типа pnode (поле указывает на вершину стека)
— и процедуру push(s, d), которая добавляет в стек s новый элемент
со значением d (s — входной и выходной параметр типа tstack, d —
входной параметр целого типа). с процедуры push добавить
в исходный стек данный набор чисел (последнее число будет вершиной
стека) и вывести адрес новой вершины стека.
dynamic12. дан указатель p1 на вершину стека, содержащего не менее пяти
элементов. используя тип tstack (см. dynamic11), описать функцию pop(s) целого типа, которая извлекает из стека s первый (верхний)
элемент, возвращает его значение и освобождает память, которую занимал
извлеченный элемент (s — входной и выходной параметр типа tstack). с
функции pop извлечь из исходного стека пять элементов и вывести их значения. вывести также указатель на новую вершину стека (если
результирующий стек окажется пустым, то этот указатель должен быть
равен nil).
Алгоритм не нужен. ответ = 15
Объяснение:
Домики и жильцов в них можно представить как арифметическую прогрессию. Исходя их этого, формула для вычисления суммы арифметической прогрессии:
Где a1 (первый член прогрессии - первый домик) = 1
n (количество домиков) = 15
d (разность прогрессии - разность между жильцами первого и второго домика) = 2
Подставляем всё в формулу и получаем ответ.
Вопросы или предложения по ответу? Жду в комментариях.
Приятных списываний :)
program Calc1;
var
m, k, x, y: Double;
begin
Write ('Введите m, k, x: ');
ReadLn (m, k, x);
if m * k - x >= 2 then
y := Sqr (x) + Sin (6 * x) - (k + 1)
else
y := Power (x, 3) - m * k + 3;
WriteLn ('y = ', y :20 :10);
ReadLn;
end.
program Calc2;
const
E = 1;
F = -2;
var
x, y: Double;
begin
Write ('Введите x: ');
ReadLn (x);
if x > Pi then
y := Sqr (Pi) + E * x * Ln (x)
else if x < 0 then
y := 0
else
y := Pi / 4 - F * x;
WriteLn ('y = ', y :20 :10);
ReadLn;
end.