Ocena użytkownikóww: ***** / 7
Nadesłany przez Michał Knasiecki, 03 sierpnia 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
odcinek.cpp:
//Program sprawdza, czy punkt nalezy do odcinka
//Program pobrano ze strony www.algorytm.org
//Opracowal Michal Knasiecki
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
struct wsp //wspolrzedne punktow
{
int x,y;
};
void main(void)
{
int i,det; //wyznacznik macierzy
wsp punkty[3]; //tablica punktow
clrscr();
printf("Wprowadzanie wspolrzednych punktow.");
for (i=1;i<4;i++)
{
printf("\nPunkt #%i",i);
printf("\nX= ");
scanf("%i",&punkty[i-1].x);
printf("\nY= ");
scanf("%i",&punkty[i-1].y);
}
//Oblicznie wyznacznika macierzy
det=punkty[0].x*punkty[1].y+punkty[1].x*punkty[2].y+punkty[2].x*punkty[0].y-
punkty[2].x*punkty[1].y-punkty[0].x*punkty[2].y-punkty[1].x*punkty[0].y;
//Sprawdzanie wspolliniowosci:
if (det!=0) printf("Punkt #3 nie nalezy do odcinka #1-#2: brak wspolliniowosci"); else
if (
(min(punkty[0].x,punkty[1].x)<=punkty[2].x)&&(punkty[2].x<=max(punkty[0].x,punkty[1].x)) &&
(min(punkty[0].y,punkty[1].y)<=punkty[2].y)&&(punkty[2].y<=max(punkty[0].y,punkty[1].y))
) printf("Punkt #3 nalezy do odcinka #1-#2"); else
printf("Punkt #3 NIE nalezy do odcinka #1-#2");
getch();
}