Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ использование процедур и функций

Автор: VATO 26.12.2009 17:15

Цитата
Три точки заданы координатами в первом квадранте: (X1,X2), (Y1,Y2), (Z1,Z2). Выдать на печать координаты этих точек по возрастанию угла между осью абсцисс и лучом, соединяющим начало координат с соответствующей точкой.

Может кто нить встречался с таким типом задачь как у меня? Надеюсь на вашу помощь.

М
не надо использовать тэги кода для обычного текста. Можешь использовать quote


Автор: Lapp 26.12.2009 17:35

Зачем нужно было встревать в другую тему, мешать там, а потом создавать свою?

Показывай, что сам сделал, и говори, с чем затруднения.

Автор: VATO 26.12.2009 17:52


uses crt;
function Prov(x,y:real):boolean;
begin
Prov:=(x>0)and(y>0);
end;
function Tg(x,y:real):real;
begin
Tg:=y/x;
end;
Procedure Sort(ax,ay,bx,by,cx,cy:real; var x1,y1,x2,y2,x3,y3:real);
var i:byte;
mx,mn,sr:real;
begin
mn:=Tg(ax,ay);x1:=ax;y1:=ay;
if Tg(bx,by)<mn then
begin
x1:=bx;y1:=by;
end;
if Tg(cx,cy)<mn then
begin
x1:=cx;y1:=cy;
end;
mx:=Tg(ax,ay);x3:=ax;y3:=ay;
if Tg(bx,by)>mx then
begin
x3:=bx;y3:=by;
end;
if Tg(cx,cy)>mx then
begin
x3:=cx;y3:=cy;
end;
x2:=ax+bx+cx-x1-x3;
y2:=ay+by+cy-y1-y3;
writeln(x1:0:2,' ',y1:0:2);
writeln(x2:0:2,' ',y2:0:2);
writeln(x3:0:2,' ',y3:0:2);
end;
var x1,x2,y1,y2,z1,z2:real;
k1,k2,k3,k4,k5,k6:real;
begin
clrscr;
writeln('Введите координаты трех точек в первом квадранте:');
repeat
writeln(' точка Х:');
readln(x1,x2);
until Prov(x1,x2);
repeat
writeln(' точка Y:');
readln(y1,y2);
until Prov(y1,y2);
repeat
writeln(' точка Z:');
readln(z1,z2);
until Prov(z1,z2);
writeln('Координаты по возрастанию угла луча с осью Х:');
Sort(x1,x2,y1,y2,z1,z2,k1,k2,k3,k4,k5,k6);
readln
end.


я думал эту тема ваапще уже забыли поэтому создал собственную
а так я вот нашёл тут, могу показать может посмотрите?

М
а вот код как раз нужно заключать в тэги кода.. Ты не отличаешь что ли?


Автор: Lapp 26.12.2009 18:16

Цитата(VATO @ 26.12.2009 13:52) *
а так я вот нашёл тут, могу показать может посмотрите?

Ты не понял. Я просил тебя показать, что ты САМ сделал, а не чужое.

Автор: VATO 26.12.2009 20:14

эту я не делал ваабще....он тяжёлая для меня.
Сам я щас во над другой занимаюсь:
Программирование операций обработки строковых переменных

Цитата
Определить количество пробелов в тексте, предшествующих первому появлению восклицательного знака.

во с этим я ошибся я расчёты делал пробелов а там оказывается с "!" знаками надо прописывать...вот мои наработки:
uses crt;
var i, count:0..40;
str:string [40];
begin
clrscr:
writeln ('vvedite stroku i simvolbI(!)');
real ln (str);
faind:= false;
count:=0;
i:=1;
write not faind do
begin
if str[i]=' 'then inc (count);
if str[i]=' 'then faind:=true;
inc(i);
end;
writeln (count:=',count);
end.

препод сказал что я пропустил "!" как их прописать не знаю,вот.

Автор: Unconnected 26.12.2009 20:52

Одна тема - одна задача. Ты определись, что ты хочешь, а то Фигаро тут...

Автор: a4apo4a 28.12.2009 4:03

я ж, говорю это другая... эт 8 лабораторная .... а та была 9ая, сёдня в 11:00 здавать для зачёта помогите студенту
Asterli

Автор: Ozzя 28.12.2009 15:35

Цитата
препод сказал

Он должен был тебя выгнать с зачета , начиная со строки
 real ln (str);

lol.gif
Зачем вообще такие сложности?
...
readln(s);
for i:=1 to length(s) do
if s[i]='!' then
begin
n:=i;
break;
end;
writeln(n);