такая проблема в Turbo Pascal: есть функция, ей задают отрезок, дают кол-во точек табулирования. Через цикл записываем табуляцию и высчитываем для каждого X Y. Это я сделал. Но! Дальше требуется вывести полученные данные на экран в виде таблицы с шапкой "№ точки" "X" "Y" "min-max" . В столбике min-max должно быть повторено значение Y в тех строках, где оно min и max, в остальных строках пусто. Это я ваще не знаю как сделать. Если кто знает как вывести эту штуку, помогите, взяв для примера какую-нибудь простейшую функцию( у меня просто очень громоздкая ).
Заранее большое спасибо. понимаю, что для кого-то это задание совсем легким покажется, но я програмирую совсем недавно просто.
Поиск -> Табулирование (Табулирование функции)
В общем вот простейший пример
uses crt;
function F(x : Integer) : Single;
begin
F := Sin(x);
end;
var
x: Integer;
begin
clrscr;
writeln('|-----|---------|');
writeln('| x | y |');
writeln('|-----|---------|');
for x := 1 to 30 do
writeln('|', x:3, '|':3, F(x):7:3, '|':3);
writeln('|---------------|');
readln;
end.
Спасибо большое))) что-то я нереально тупил) все действительно легко очень. Отдельное сапсибо за оперативность, ответ последовал очень быстро)
правда, как все же быть со столбцом min-max?
Изврат, но работает:
uses crt;
function F(x : Integer) : Single;
begin
F := Sin(x);
end;
function s(st: string; b: boolean): string;
begin
if b then s := st else s := '';
end;
var
x: Integer;
b: boolean;
i_min, i_max: integer;
T, min, max: single;
begin
clrscr;
writeln('|-----|---------|-------|');
writeln('| x | y |min/max|');
writeln('|-----|---------|-------|');
i_min := 0; min := maxlongint;
i_max := 0; max := -maxlongint;
for b := false to true do
for x := 1 to 20 do begin
T := F(X);
if (not b) then begin
if min > T then begin
min := T; i_min := x;
end;
if max < T then begin
max := T; i_max := x;
end;
end
else writeln('|', x:3, '|':3, F(x):7:3, '|':3,
s('min', x = i_min)+s('max', x = i_max):7, '|');
end;
writeln('|-----------------------|');
readln;
end.