algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Przynależność punktu do odcinka - Implementacja w C/C++
Ocena użytkownikóww: *****  / 7
SłabyŚwietny
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();
}
Dodaj komentarz