Помощь - Поиск - Пользователи - Календарь
Полная версия: вывод данных цикла на экран через таблицу
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
JPearce
такая проблема в Turbo Pascal: есть функция, ей задают отрезок, дают кол-во точек табулирования. Через цикл записываем табуляцию и высчитываем для каждого X Y. Это я сделал. Но! Дальше требуется вывести полученные данные на экран в виде таблицы с шапкой "№ точки" "X" "Y" "min-max" . В столбике min-max должно быть повторено значение Y в тех строках, где оно min и max, в остальных строках пусто. Это я ваще не знаю как сделать. Если кто знает как вывести эту штуку, помогите, взяв для примера какую-нибудь простейшую функцию( у меня просто очень громоздкая ).

Заранее большое спасибо. понимаю, что для кого-то это задание совсем легким покажется, но я програмирую совсем недавно просто.
klem4
Поиск -> Табулирование (Табулирование функции)

В общем вот простейший пример

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?
volvo
Изврат, но работает:
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.

smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.