ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ основы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Ρ‹Π²ΠΎΠ΄Ρ‹ Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ использовались Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»Π°ΡΡŒ вся информация ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 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;

}

} } }

Π’Ρ‹Π²ΠΎΠ΄Ρ‹ Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ использовались Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»Π°ΡΡŒ вся информация ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»Π° продСмонстрирована Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Π»ΠΈ написаны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΠΉ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ