0 / 0 / 0
Регистрация: 11.06.2012
Сообщений: 7
1

Вычисление количества различных точек пересечения двух прямых

11.06.2012, 00:49. Показов 1329. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программу для вычисления количества различных точек пересечения каждых двух прямых из множества n (n<=10) {n меньше либо равно 10} прямых на плоскости. Подготовить использовать процедуру для нахождения точки пересечения двух прямых, если она существует.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2012, 00:49
Ответы с готовыми решениями:

Подсчитать количество точек пересечения прямых
Задано множество прямых на плоскости (коэффициентами своих уравнений). Подсчитать количество точек...

Как найти точку пересечения двух прямых?
Удалено, не разрешенный язык.

Процедура для нахождения точки пересечения двух прямых
Составить процедуру для нахождения точки пересечения двух прямых. Найти попарно точки пересечения...

процедура для нахождения точки пересечения двух прямых
составить процедуру для нахождения точки пересечения двух прямых.Найти попарно точки пересечения...

4
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91
11.06.2012, 00:51 2
прямые как задаются?
0
0 / 0 / 0
Регистрация: 11.06.2012
Сообщений: 7
11.06.2012, 01:04  [ТС] 3
1)y=ki*x+bi

2)y=kj*x+bj
0
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91
11.06.2012, 01:58 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
type Line=record
k,b:real;
end;
function per(l1:Line;l2:Line;var x:real;var y:real):integer;
var xp,yp:real;
begin
if(l1.k<>l2.k) then begin
xp:=(l2.b-l1.b)/(l1.k-l2.k);
yp:=(l1.k*l2.b-l2.k*l1.b)/(l1.k-l2.k);
x:=xp;
y:=yp;
per:=0;
end
else
per:=1;
end;
var lines:array [1..10] of Line;
i,j,k,m:integer;
xp,yp:real;
begin
while((m>10) or (m<1)) do begin
writeln('count? ');
readln(m);
end;
for i:=1 to m do begin
writeln('line ',i);
writeln('k? ');readln(lines[i].k);
writeln('b? ');readln(lines[i].b);
end;
for i:=1 to m do
for j:=i to m do
if(i<>j) then begin
if(lines[i].k<>lines[j].k) then begin 
per(lines[i],lines[j],xp,yp);
writeln('lines ',i,' and ',j, '  1 tochka (',xp,',',yp,')');
end;
if((lines[i].k=lines[j].k) and (lines[i].b<>lines[j].b)) then  writeln('lines ',i,' and ',j, '  0 tochek');
if((lines[i].k=lines[j].k) and (lines[i].b=lines[j].b)) then writeln('lines ',i,' and ',j, '  infinity tochek');
 
end;
end.
Вот что получилось. Говорит сколько точек пересечения для каждых 2-х прямых, 0,1 или бесконечность если совпадают. Если есть точка пересечения процедурой per считается точка пересечения.
1
0 / 0 / 0
Регистрация: 11.06.2012
Сообщений: 7
11.06.2012, 02:09  [ТС] 5
Спасибо :dance3:
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2012, 02:09
Помогаю со студенческими работами здесь

Составить подпрограмму определения координат точки пересечения двух прямых
Составить подпрограмму определения координат точки пересечения двух прямых y={k}_{1}x+{b}_{1} и...

Найти точки пересечения двух прямых, заданных уравнениями вида ax+by=c, установить параллельность/совпадение
Даны числа a1, b1, c1, а2, b2, c2. напечатать координаты точки пересечения прямых, описываемых...

Вычислить точку пересечения прямых
дана задача: на плоскости лежат две прямые. каждая задана точкой и направляющим вектором....

Напечатать координаты точки пересечения прямых
4.Две прямые описываются уравнениями a1x+b1y+c1=0, a2x+b2y+c2+0. Напечатать координаты точки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru