Другие языки программирования и технологии

Вопрос по Turbo Pascal

как составить программу, чтобы она располагала в порядке возрастания числа sin x, cos x, ln x. А при х меньше либо равном нуля, выводила сообщение о том, что логарифма не существует? помогите пожалуйста, срочно. заранее спасибо
ну я так понял это одномерный массив
Делаем 2 цикла- 1цикл-эт ввод x,2 цикл-распределение элементов в порядке возрастания (делаем по методу пузырька-самых простой). Надо не забыть про аномалии- If x<=0 then writeln("Ошибка! Элемент меньше 0 ") /ну там надо Repeаt поставить конечно, чтоб цикличность была
P.s если надо сделать эту программу-пиши в агент или почту (лучше в агент)
Igor Kozlow
Igor Kozlow
664
Лучший ответ
Михаил Муратов вот как раз таки та часть, где про метод пузырька, она и не понятна))
const n=3;
var
a: array [1..n] of real;
i,j:integer;
k,b,c,s,x:real;
begin
writeln(' vvedite x');
readln(x);
a[1]:= sin(x);
a[2]:= cos(x);
a[3]:= ln(x);
b:= ln(x);
c:= cos(x);
s:= sin(x);
begin
for i:=1 to n do
for j:= i+1 to n do
if (a> a[j]) then begin
k:=a; a:= a[j]; a[j]:=k;end;
end;
if (x>0) then begin
if (a[1]=s) then writeln ('sin(x)=',a[1]);
if (a[1]=c) then writeln ('cos(x)=',a[1]);
if (a[1]=b) then writeln ('ln(x)=',a[1]);

if (a[2]=s) then writeln ('sin(x)=',a[2]);
if (a[2]=c) then writeln ('cos(x)=',a[2]);
if (a[2]=b) then writeln ('ln(x)=',a[2]);

if (a[3]=s) then writeln ('sin(x)=',a[3]);
if (a[3]=c) then writeln ('cos(x)=',a[3]);
if (a[3]=b) then writeln ('ln(x)=',a[3]);
end;

if (x<0) then begin
if (a[1]=s) then writeln ('sin(x)=',a[1]);
if (a[1]=c) then writeln ('cos(x)=',a[1]);
if (a[1]=b) then writeln ('ln(x)- ne syshestvuet');

if (a[2]=s) then writeln ('sin(x)=',a[2]);
if (a[2]=c) then writeln ('cos(x)=',a[2]);
if (a[2]=b) then writeln ('ln(x)- ne syshestvuet');

if (a[3]=s) then writeln ('sin(x)=',a[3]);
if (a[3]=c) then writeln ('cos(x)=',a[3]);
if (a[3]=b) then writeln ('ln(x)- ne syshestvuet');
end;
writeln;
readln;
end.