Commit a5a21f16 by Jürgen Hein

Upload New File

parent bb45cdc3
Showing with 105 additions and 0 deletions
/*Sisestage punktide koordinaadid.
/*Sisestage punktide koordinaadid.
*Sisestage ringi keskpunkti koordinaadid.
*Sisestage ringi raadius. Leidke, millised
*punktid asuvad ringi sees */
//(x-a)^2+(y-a)^2=r^2
// /*int A[x][y]; */
#include <stdio.h>
#include <math.h>
//Prototüübid
int Sisestus(char[]);
void SisestusMaatriks(int[], int[], int);
void KontrollVäljastus(int, int, int);
void PunktiSobivus(int[], int[], int[], int, int, int, int);
void Väljastus(int[], int[], int, int[]);
int main(void)
{
int KoordArv = Sisestus("Sisestage koordinaatide arv:");
int A[KoordArv]; //x koordinaatide massiiv
int B[KoordArv]; //y koordinaatide massiiv
int C[KoordArv];
SisestusMaatriks(A, B, KoordArv);
int xKesk = Sisestus("Sisestage ringi keskpunkti x koordinaat:");
int yKesk = Sisestus("Sisestage ringi keskpunkti y koordinaat:");
int Raadius = Sisestus("Sisestage ringi raadius:");
KontrollVäljastus(xKesk, yKesk, Raadius);
PunktiSobivus(A, B, C, xKesk, yKesk, Raadius, KoordArv);
Väljastus(A, B, KoordArv, C);
return 0;
}
int Sisestus(char teade[])
{
int arv;
do
{
printf("%s\n", teade);
scanf("%d", &arv);
if(arv <= -10 || arv >= 10)
{
printf("Sisestatud väärtus ei sobi, sisestage täisarv vahemikus 0...10.");
}
} while(arv <= -10 || arv >= 10);
return arv;
}
void SisestusMaatriks(int A[], int B[], int KoordArv)
{
int i;
for (i = 0; i < KoordArv; i++)
{
printf("Sisesta x koordinaat nr %d\n", i);
scanf("%d", &A[i]);
printf("Sisesta y koordinaat nr %d\n", i);
scanf("%d", &B[i]);
}
}
void KontrollVäljastus(int xKesk, int yKesk, int Raadius)
{
printf("Ringi võrrand on (x-%d)^2+(y-%d)^2 = %d^2\n", xKesk, yKesk, Raadius);
}
void PunktiSobivus(int A[], int B[], int C[], int xKesk, int yKesk, int Raadius, int KoordArv)
{
int i;
for (i = 0; i < KoordArv; i++)
{
if(((xKesk-A[i])^2) +((yKesk-B[i])^2) > (Raadius^2))
{
C[i]= 0; // Punkt ringjoone sees
}else if(((xKesk-A[i])^2) +((yKesk-B[i])^2) == (Raadius^2))
{
C[i]= 1; // Punkt ringjoone peal
}else
{
C[i] = 2; // Punkt ringjoonest väljas
}
}
}
void Väljastus(int A[], int B[], int KoordArv, int C[])
{
int i;
for (i = 0; i < KoordArv; i++)
{
switch(C[i])
{
case 0:
printf("Sisestatud punkt %d, %d on ringjoone sees.", A[i],B[i]);
break;
case 1:
printf("Sisestatud punkt %d, %d on ringjoone peal.", A[i],B[i]);
break;
case 2:
printf("Sisestatud punkt %d, %d on ringjoonest väljas.", A[i],B[i]);
break;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment