ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠ²ΠΎΠ΄Ρ Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π»Π°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΠΊΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2012 Π³ΠΎΠ΄ ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ: ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΠΊΠΈ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΠ·Π°ΡΠΈΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΠΊΠΈ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ «ΠΠΠ’Π»
ΠΠ°ΡΠ΅Π΄ΡΠ°: ΠΠ‘Π£ ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°
" ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΠ·Π°ΡΠΈΠΈ"
Π‘ΡΡΠ΄Π΅Π½Ρ: ΠΠΎΠΈΡΠ΅Π΅Π²Π° Π.Π.
ΠΡΡΠΏΠΏΠ°: 1491
ΠΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ: ΠΠ΅ΡΡΠΈΠ½ΠΊΠΈΠ½ Π. Π‘.
Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2012 Π³ΠΎΠ΄ ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ:
1. ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΎ Π½Π°Π±ΠΎΡΠ΅ ΡΠΎΡΠ΅ΠΊ ΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΏΡΡΠΌΠΎΠΉ.
2. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈ Π² ΡΠ°ΠΉΠ», ΡΠΎΡ ΡΠ°Π½ΡΡΡΡ Π½Π° ΠΆΡΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅.
3. ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ r, Π²ΡΠ±ΠΎΡΠ° ΡΠΎΡΠ΅ΠΊ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° D1, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΎΡΠΌΠΈΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΡΠΎΡΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ:
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΎΡΠΈ ΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ΅ΡΠ΅Π· Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΊΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. ΠΡΠ»ΠΈ ΡΠΎΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ Ρ Π»Π΅ΠΆΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π£ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ΅, ΡΠΎ ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ. ΠΡΠΎΠ΄Π΅Π»ΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ ΡΠΎΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ ΠΌΠ΅Π½Π΅Π΅ 2 ΠΈ Π·Π°Π΄Π°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ y Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ, ΡΠΎ ΡΠΎΡΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
Kbc ΠΈ Bbc — ΡΠ³Π»ΠΎΠ²ΠΎΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΠ»Π΅Π½ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎΠΉ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· Π²Π΅ΡΡΠΈΠ½Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° B ΠΈ Π‘.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΡΠΎΠΌΡ: Kcd ΠΈ Bcd, Kad ΠΈ Bad, Kab ΠΈ Bab.
ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½ΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎ 0.0001.
ΠΠ° ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΎΠ½ΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ, Ρ.ΠΊ. ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ.
ΠΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΎΡ ΡΠΎΡΠΊΠΈ Π΄ΠΎ ΠΏΡΡΠΌΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΈ k ΠΈ b (ΡΠ³Π»ΠΎΠ²ΠΎΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΠ»Π΅Π½ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎΠΉ, ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ), Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠΎ 2 Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΡΠ»Π°: ΠΠ½Π° ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΉ.
ΠΠ»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ°. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΡΠ»Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅ΠΉΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ Π² ΡΡΠ΅ΠΉΠΊΡ 2,3…n…
#include «stdafx.h»
#include
#include
#include
#include
#include
#include
FILE *file1;
FILE *file2;
int vnutri_ili_snaruji (float Ax, float Bx, float Cx, float Dx, float Ay, float By, float Cy, float Dy, float x, float y)
{
int vnutri=0, z=0;
float y1, y2, y3, y4;
float massiv[4];
float Kbc, Bbc, Kcd, Bcd, Kad, Bad, Kab, Bab;
Kbc=(By-Cy)/(Bx-Cx+0.0001); //ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π² ΡΡ-ΠΈΠ΅ ΠΏΡΡΠΌΠΎΠΉ
Bbc=By-Kbc*Bx;
Kcd=(Dy-Cy)/(Dx-Cx+0.0001);
Bcd=Cy-Kcd*Cx;
Kad=(Dy-Ay)/(Dx-Ax+0.0001);
Bad=Ay-Kad*Ax;
Kab=(By-Ay)/(Bx-Ax+0.0001);
Bab=Ay-Kab*Ax;
y1=Kab*x+Bab; //ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΠΈΠΊΠ°
y2=Kbc*x+Bbc;
y3=Kcd*x+Bcd;
y4=Kad*x+Bad;
if ((y1>Ay && y1By)) //ΠΠΎΠ΄ΡΡΡΡ ΡΠΎΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ
{
massiv[z]=y1;
z++;
}
if ((y2>Cy && y2By))
{
massiv[z]=y2;
z++;
}
if ((y3>Cy && y3Dy))
{
massiv[z]=y3;
z++;
}
if ((y4>Ay && y4Dy))
{
massiv[z]=y4;
z++;
}
if (z==2) //ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
{
if (ymassiv[1]) vnutri=1;
if (y>massiv[0] && y
}
return (vnutri);
}
float rasstoyanie (float x, float y, float k, float b)
{
float d;
d=(fabs (k*x-y+b)/sqrt (k*k+1)); //ΡΠ°ΡΡΡΡΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΎΡ ΡΠΎΡΠΊΠΈ Π΄ΠΎ ΠΏΡΡΠΌΠΎΠΉ
return (d);
}
float sortirovka (float Sort[], float D3[250][6], int n)//ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ°
{
int i=0,k=0,nomer, j, j3=0, i3;
float max, perv;
float temp, temp1, temp2, temp3, temp4, temp5;
do //Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ r
{
max=Sort[i];
nomer=i;
do
{
if (Sort[i+1]>max) nomer=i+1;
if (Sort[i+1]>max) max=Sort[i+1];
i++;
}
while (i
perv=Sort[k];
Sort[k]=max;
Sort[nomer]=perv;
k++;
i=k;
}
while (k
for (j=0;j
{
for (i3=0;i3
{
if (Sort[j]==D3[i3][j3+5])
{
temp=D3[j][j3];
temp1=D3[j][j3+1];
temp2=D3[j][j3+2];
temp3=D3[j][j3+3];
temp4=D3[j][j3+4];
temp5=D3[j][j3+5];
D3[j][j3]=D3[i3][j3];
D3[j][j3+1]=D3[i3][j3+1];
D3[j][j3+2]=D3[i3][j3+2];
D3[j][j3+3]=D3[i3][j3+3];
D3[j][j3+4]=D3[i3][j3+4];
D3[j][j3+5]=D3[i3][j3+5];
D3[i3][j3]=temp;
D3[i3][j3+1]=temp1;
D3[i3][j3+2]=temp2;
D3[i3][j3+3]=temp3;
D3[i3][j3+4]=temp4;
D3[i3][j3+5]=temp5;
break;
}
}
}
return (0);
}
void vyvod (float Massiv[250][6], int stroki, int stolbcy)
{
int i, j, k;
if (stolbcy==6)
{
k=1;
}
else
{
k=0;
}
for (i=0; i
{
if ((i%20)==0)
{
getch ();
}
for (j=k; j
{
switch (stolbcy)
{
case 6:
{
switch (j)
{
case 1:
printf («D2=»);
break;
case 2:
printf («D1=»);
break;
case 3:
printf («x=»);
break;
case 4:
printf («y=»);
break;
case 5:
printf («d=»);
break;
}
break;
}
case 3:
{
switch (j)
{
case 0:
printf («D1=»);
break;
case 1:
printf («x=»);
break;
case 2:
printf («y=»);
break;
}
break;
}
case 4:
{
switch (j)
{
case 0:
printf («D2=»);
break;
case 1:
printf («D1=»);
break;
case 2:
printf («x=»);
break;
case 3:
printf («y=»);
break;
}
break;
}
}
printf («%1.1f «, Massiv[i][j]);
fprintf (file2, «%1.1f «, Massiv[i][j]);
}
printf («n»);
fprintf (file2," n");
}
}
int MENU (int flag) //ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ
{
system («cls»); //ΠΎΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π°
printf («nMenu:n»); //Π²ΡΠ²ΠΎΠ΄ ΠΌΠ΅Π½Ρ
if (flag>1) printf («1. Vvod na4al'nyh dannyh — ok!»);
else printf («1. Vvod na4al'nyh dannyh»);
if (flag>2) printf («n2. Ras4et — ok!»);
else printf («n2. Ras4et»);
if (flag>3) printf («n3. Vyvod rezul’tatov — ok!»);
else printf («n3. Vyvod rezul’tatov»);
printf («n4. Vyhod»);
printf («nnVvedite N punkta: «);
return 0;
}
void main () //ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
{
int vyhod=0;
float Ax, Ay, Bx, By, Cx, Cy, Dx, Dy;
float D1[250][6], D2[250][6], D3[250][6];
int i, j, vnutri, n, N1, N2,N3,i1,j1,i2,j2,i3,j3;
float r, R;
float Sort[250];
float x, y;
float k, b, x1, x2, y1, y2;
int stroki, stolbcy;
char str[128], key, key2;
int flag=1;
char w[1];
while (vyhod==0)
{
MENU (flag);
key=getchar ();
sprintf (w, «%d», flag);
if (key=='4')
{
vyhod=1;
break;
}
if (key>w[0])
{
key=5;
printf («nO6ibka! Dlya vyhoda nazhmite 4 ili dla vvoda dannix nazhmite 1»);
}
switch (key)
{
case '1': //Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
{
printf («nVvedem koordinati mnogougol’nika.»);
printf («nVvedite koordinatu A: n»);
scanf («%f %f», &Ax, &Ay);
printf («nVvedite koordinatu B: n»);
scanf («%f %f», &Bx, &By);
printf («nVvedite koordinatu C: n»);
scanf («%f %f», &Cx, &Cy);
printf («nVvedite koordinatu D: n»);
scanf («%f %f», &Dx, &Dy);
printf («nVvedite R: n»);
scanf («%f», &R);
printf («Vvedem 2 to4ki pryamoj.»);
printf («nPervaya:n»);
scanf («%f %f», &x1, &y1);
printf («nVtoraya:n»);
scanf («%f %f», &x2, &y2);
flag++;
getch ();
break;
}
case '2': //ΡΠ°ΡΡΠ΅Ρ
{
k=(y2-y1)/(x2-x1+0.0001); //ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡ-ΠΈΠΉ ΠΏΡΡΠΌΠΎΠΉ
b=y2-k*x2;
N1=1;
j1=i1=n=0;
}
file1=fopen («C:\tochki.txt» ," rt"); // ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.
if (file1 == NULL) // ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ…
{
printf («Fajl ne najden»); // Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
return;
}
else{
while (NULL≠fgets (str, 128, file1))
{
n++;
}
if (n>249) (n=250);
rewind (file1);
for (i=0;i
{
fscanf (file1," %f %f" ,&x,&y);
if (x>=0 && x<=12 && y>=0 && y<=15)
{
D1[i1][j1]=N1;
D1[i1][j1+1]=x;
D1[i1][j1+2]=y;
N1++;
i1++;
}
}
fclose (file1); //Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
N2=N3=1;
j=i2=j2=i3=j3=0;
for (i1=0; i1
{
vnutri=vnutri_ili_snaruji (Ax, Bx, Cx, Dx, Ay, By, Cy, Dy, D1[i1][j1+1], D1[i1][j1+2]);
if (vnutri==0) //ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ D2
{
D2[i2][j2]=N2;
D2[i2][j2+1]=D1[i1][j1];
D2[i2][j2+2]=D1[i1][j1+1];
D2[i2][j2+3]=D1[i1][j1+2];
r=rasstoyanie (D2[i2][j2+2], D2[i2][j2+3], k, b); //ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ D3
if (r<=R)
{
D3[i3][j3]=N3;
D3[i3][j3+1]=D2[i2][j2];
D3[i3][j3+2]=D2[i2][j2+1];
D3[i3][j3+3]=D2[i2][j2+2];
D3[i3][j3+4]=D2[i2][j2+3];
D3[i3][j3+5]=r;
Sort[j]=r;
j++;
i3++;
N3++;
}
N2++;
i2++;
}
}
N3=N3−1;
sortirovka (Sort, D3, N3); //ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ r
printf («nPoschitano!n»);
flag++;
getch ();
break;
}
case '3': //Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
{
file2=fopen («C:\rezultat.txt», «at»);
printf («nKakoi massiv vyvesti? D1 — najmite 1, D2 — 2, D3 — 3, vse — 4: n»);
key2=getchar ();
key2=getchar ();
if (key2=='1')
{
stroki=N1−1;
stolbcy=3;
fprintf (file2, «nVse to4ki v zadannoj oblasti: n»);
printf («nVse to4ki v zadannoj oblasti: n»);
vyvod (D1,stroki, stolbcy);
}
if (key2=='2')
{
stroki=N2−1;
stolbcy=4;
fprintf (file2, «nnTo4ki VNE mnogougol’nika:n»);
printf («nnTo4ki VNE mnogougol’nika:n»);
vyvod (D2,stroki, stolbcy);
}
if (key2=='3')
{
stroki=N3;
stolbcy=6;
fprintf (file2, «nnTo4ki VNE mnogougol’nika i r<=R:n»);
printf («nnTo4ki VNE mnogougol’nika i r<=R:n»);
vyvod (D3,stroki, stolbcy);
}
if (key2=='4')
{
stroki=N1−1;
stolbcy=3;
fprintf (file2, «nVse to4ki v zadannoj oblasti: n»);
printf («nVse to4ki v zadannoj oblasti: n»);
vyvod (D1,stroki, stolbcy);
stroki=N2−1;
stolbcy=4;
fprintf (file2, «nnTo4ki VNE mnogougol’nika:n»);
printf («nnTo4ki VNE mnogougol’nika:n»);
vyvod (D2,stroki, stolbcy);
stroki=N3;
stolbcy=6;
fprintf (file2, «nnTo4ki VNE mnogougol’nika i r<=R:n»);
printf («nnTo4ki VNE mnogougol’nika i r<=R:n»);
vyvod (D3,stroki, stolbcy);
}
flag++;
fclose (file2);
getch ();
break;
}
case '4': //Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
{
printf («nProgramma vypolnena. n»);
vyhod=1;
flag++;
getch ();
break;
}
default: //Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ°
{
getch ();
break;
}
} } }
ΠΡΠ²ΠΎΠ΄Ρ Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π»Π°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΠΊΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π±ΡΠ»Π° ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ .
Π’Π°ΠΊ ΠΆΠ΅ Π±ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ.